AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
DeriveSharedSecretRequest.h
1
6#pragma once
7#include <aws/core/utils/Array.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/kms/KMSRequest.h>
11#include <aws/kms/KMS_EXPORTS.h>
12#include <aws/kms/model/KeyAgreementAlgorithmSpec.h>
13#include <aws/kms/model/RecipientInfo.h>
14
15#include <utility>
16
17namespace Aws {
18namespace KMS {
19namespace Model {
20
24 public:
25 AWS_KMS_API DeriveSharedSecretRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "DeriveSharedSecret"; }
32
33 AWS_KMS_API Aws::String SerializePayload() const override;
34
36
38
55 inline const Aws::String& GetKeyId() const { return m_keyId; }
56 inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
57 template <typename KeyIdT = Aws::String>
58 void SetKeyId(KeyIdT&& value) {
59 m_keyIdHasBeenSet = true;
60 m_keyId = std::forward<KeyIdT>(value);
61 }
62 template <typename KeyIdT = Aws::String>
64 SetKeyId(std::forward<KeyIdT>(value));
65 return *this;
66 }
68
70
74 inline KeyAgreementAlgorithmSpec GetKeyAgreementAlgorithm() const { return m_keyAgreementAlgorithm; }
75 inline bool KeyAgreementAlgorithmHasBeenSet() const { return m_keyAgreementAlgorithmHasBeenSet; }
77 m_keyAgreementAlgorithmHasBeenSet = true;
78 m_keyAgreementAlgorithm = value;
79 }
82 return *this;
83 }
85
87
102 inline const Aws::Utils::ByteBuffer& GetPublicKey() const { return m_publicKey; }
103 inline bool PublicKeyHasBeenSet() const { return m_publicKeyHasBeenSet; }
104 template <typename PublicKeyT = Aws::Utils::ByteBuffer>
105 void SetPublicKey(PublicKeyT&& value) {
106 m_publicKeyHasBeenSet = true;
107 m_publicKey = std::forward<PublicKeyT>(value);
108 }
109 template <typename PublicKeyT = Aws::Utils::ByteBuffer>
111 SetPublicKey(std::forward<PublicKeyT>(value));
112 return *this;
113 }
115
117
126 inline const Aws::Vector<Aws::String>& GetGrantTokens() const { return m_grantTokens; }
127 inline bool GrantTokensHasBeenSet() const { return m_grantTokensHasBeenSet; }
128 template <typename GrantTokensT = Aws::Vector<Aws::String>>
129 void SetGrantTokens(GrantTokensT&& value) {
130 m_grantTokensHasBeenSet = true;
131 m_grantTokens = std::forward<GrantTokensT>(value);
132 }
133 template <typename GrantTokensT = Aws::Vector<Aws::String>>
135 SetGrantTokens(std::forward<GrantTokensT>(value));
136 return *this;
137 }
138 template <typename GrantTokensT = Aws::String>
140 m_grantTokensHasBeenSet = true;
141 m_grantTokens.emplace_back(std::forward<GrantTokensT>(value));
142 return *this;
143 }
145
147
153 inline bool GetDryRun() const { return m_dryRun; }
154 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
155 inline void SetDryRun(bool value) {
156 m_dryRunHasBeenSet = true;
157 m_dryRun = value;
158 }
160 SetDryRun(value);
161 return *this;
162 }
164
166
197 inline const RecipientInfo& GetRecipient() const { return m_recipient; }
198 inline bool RecipientHasBeenSet() const { return m_recipientHasBeenSet; }
199 template <typename RecipientT = RecipientInfo>
200 void SetRecipient(RecipientT&& value) {
201 m_recipientHasBeenSet = true;
202 m_recipient = std::forward<RecipientT>(value);
203 }
204 template <typename RecipientT = RecipientInfo>
206 SetRecipient(std::forward<RecipientT>(value));
207 return *this;
208 }
210 private:
211 Aws::String m_keyId;
212
214
215 Aws::Utils::ByteBuffer m_publicKey{};
216
217 Aws::Vector<Aws::String> m_grantTokens;
218
219 bool m_dryRun{false};
220
221 RecipientInfo m_recipient;
222 bool m_keyIdHasBeenSet = false;
223 bool m_keyAgreementAlgorithmHasBeenSet = false;
224 bool m_publicKeyHasBeenSet = false;
225 bool m_grantTokensHasBeenSet = false;
226 bool m_dryRunHasBeenSet = false;
227 bool m_recipientHasBeenSet = false;
228};
229
230} // namespace Model
231} // namespace KMS
232} // namespace Aws
AWS_KMS_API DeriveSharedSecretRequest()=default
DeriveSharedSecretRequest & WithPublicKey(PublicKeyT &&value)
const Aws::Vector< Aws::String > & GetGrantTokens() const
KeyAgreementAlgorithmSpec GetKeyAgreementAlgorithm() const
void SetKeyAgreementAlgorithm(KeyAgreementAlgorithmSpec value)
DeriveSharedSecretRequest & WithRecipient(RecipientT &&value)
const Aws::Utils::ByteBuffer & GetPublicKey() const
DeriveSharedSecretRequest & AddGrantTokens(GrantTokensT &&value)
DeriveSharedSecretRequest & WithKeyId(KeyIdT &&value)
AWS_KMS_API Aws::String SerializePayload() const override
DeriveSharedSecretRequest & WithDryRun(bool value)
virtual const char * GetServiceRequestName() const override
DeriveSharedSecretRequest & WithGrantTokens(GrantTokensT &&value)
AWS_KMS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
DeriveSharedSecretRequest & WithKeyAgreementAlgorithm(KeyAgreementAlgorithmSpec value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector