AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
DeriveSharedSecretRequest.h
1
6#pragma once
7#include <aws/kms/KMS_EXPORTS.h>
8#include <aws/kms/KMSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/kms/model/KeyAgreementAlgorithmSpec.h>
11#include <aws/core/utils/Array.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/kms/model/RecipientInfo.h>
14#include <utility>
15
16namespace Aws
17{
18namespace KMS
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_KMS_API DeriveSharedSecretRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "DeriveSharedSecret"; }
35
36 AWS_KMS_API Aws::String SerializePayload() const override;
37
39
40
42
59 inline const Aws::String& GetKeyId() const { return m_keyId; }
60 inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
61 template<typename KeyIdT = Aws::String>
62 void SetKeyId(KeyIdT&& value) { m_keyIdHasBeenSet = true; m_keyId = std::forward<KeyIdT>(value); }
63 template<typename KeyIdT = Aws::String>
64 DeriveSharedSecretRequest& WithKeyId(KeyIdT&& value) { SetKeyId(std::forward<KeyIdT>(value)); return *this;}
66
68
72 inline KeyAgreementAlgorithmSpec GetKeyAgreementAlgorithm() const { return m_keyAgreementAlgorithm; }
73 inline bool KeyAgreementAlgorithmHasBeenSet() const { return m_keyAgreementAlgorithmHasBeenSet; }
74 inline void SetKeyAgreementAlgorithm(KeyAgreementAlgorithmSpec value) { m_keyAgreementAlgorithmHasBeenSet = true; m_keyAgreementAlgorithm = value; }
77
79
94 inline const Aws::Utils::ByteBuffer& GetPublicKey() const { return m_publicKey; }
95 inline bool PublicKeyHasBeenSet() const { return m_publicKeyHasBeenSet; }
96 template<typename PublicKeyT = Aws::Utils::ByteBuffer>
97 void SetPublicKey(PublicKeyT&& value) { m_publicKeyHasBeenSet = true; m_publicKey = std::forward<PublicKeyT>(value); }
98 template<typename PublicKeyT = Aws::Utils::ByteBuffer>
99 DeriveSharedSecretRequest& WithPublicKey(PublicKeyT&& value) { SetPublicKey(std::forward<PublicKeyT>(value)); return *this;}
101
103
112 inline const Aws::Vector<Aws::String>& GetGrantTokens() const { return m_grantTokens; }
113 inline bool GrantTokensHasBeenSet() const { return m_grantTokensHasBeenSet; }
114 template<typename GrantTokensT = Aws::Vector<Aws::String>>
115 void SetGrantTokens(GrantTokensT&& value) { m_grantTokensHasBeenSet = true; m_grantTokens = std::forward<GrantTokensT>(value); }
116 template<typename GrantTokensT = Aws::Vector<Aws::String>>
117 DeriveSharedSecretRequest& WithGrantTokens(GrantTokensT&& value) { SetGrantTokens(std::forward<GrantTokensT>(value)); return *this;}
118 template<typename GrantTokensT = Aws::String>
119 DeriveSharedSecretRequest& AddGrantTokens(GrantTokensT&& value) { m_grantTokensHasBeenSet = true; m_grantTokens.emplace_back(std::forward<GrantTokensT>(value)); return *this; }
121
123
129 inline bool GetDryRun() const { return m_dryRun; }
130 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
131 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
132 inline DeriveSharedSecretRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
134
136
162 inline const RecipientInfo& GetRecipient() const { return m_recipient; }
163 inline bool RecipientHasBeenSet() const { return m_recipientHasBeenSet; }
164 template<typename RecipientT = RecipientInfo>
165 void SetRecipient(RecipientT&& value) { m_recipientHasBeenSet = true; m_recipient = std::forward<RecipientT>(value); }
166 template<typename RecipientT = RecipientInfo>
167 DeriveSharedSecretRequest& WithRecipient(RecipientT&& value) { SetRecipient(std::forward<RecipientT>(value)); return *this;}
169 private:
170
171 Aws::String m_keyId;
172 bool m_keyIdHasBeenSet = false;
173
175 bool m_keyAgreementAlgorithmHasBeenSet = false;
176
177 Aws::Utils::ByteBuffer m_publicKey{};
178 bool m_publicKeyHasBeenSet = false;
179
180 Aws::Vector<Aws::String> m_grantTokens;
181 bool m_grantTokensHasBeenSet = false;
182
183 bool m_dryRun{false};
184 bool m_dryRunHasBeenSet = false;
185
186 RecipientInfo m_recipient;
187 bool m_recipientHasBeenSet = false;
188 };
189
190} // namespace Model
191} // namespace KMS
192} // 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