AWS SDK for C++

AWS SDK for C++ Version 1.11.834

Loading...
Searching...
No Matches
RunMicrovmRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/lambda-microvms/LambdaMicrovmsRequest.h>
11#include <aws/lambda-microvms/LambdaMicrovms_EXPORTS.h>
12#include <aws/lambda-microvms/model/IdlePolicy.h>
13#include <aws/lambda-microvms/model/Logging.h>
14
15#include <utility>
16
17namespace Aws {
18namespace LambdaMicrovms {
19namespace Model {
20
24 public:
25 AWS_LAMBDAMICROVMS_API RunMicrovmRequest() = 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 "RunMicrovm"; }
32
33 AWS_LAMBDAMICROVMS_API Aws::String SerializePayload() const override;
34
36
39 inline const Aws::Vector<Aws::String>& GetIngressNetworkConnectors() const { return m_ingressNetworkConnectors; }
40 inline bool IngressNetworkConnectorsHasBeenSet() const { return m_ingressNetworkConnectorsHasBeenSet; }
41 template <typename IngressNetworkConnectorsT = Aws::Vector<Aws::String>>
42 void SetIngressNetworkConnectors(IngressNetworkConnectorsT&& value) {
43 m_ingressNetworkConnectorsHasBeenSet = true;
44 m_ingressNetworkConnectors = std::forward<IngressNetworkConnectorsT>(value);
45 }
46 template <typename IngressNetworkConnectorsT = Aws::Vector<Aws::String>>
47 RunMicrovmRequest& WithIngressNetworkConnectors(IngressNetworkConnectorsT&& value) {
48 SetIngressNetworkConnectors(std::forward<IngressNetworkConnectorsT>(value));
49 return *this;
50 }
51 template <typename IngressNetworkConnectorsT = Aws::String>
52 RunMicrovmRequest& AddIngressNetworkConnectors(IngressNetworkConnectorsT&& value) {
53 m_ingressNetworkConnectorsHasBeenSet = true;
54 m_ingressNetworkConnectors.emplace_back(std::forward<IngressNetworkConnectorsT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::Vector<Aws::String>& GetEgressNetworkConnectors() const { return m_egressNetworkConnectors; }
64 inline bool EgressNetworkConnectorsHasBeenSet() const { return m_egressNetworkConnectorsHasBeenSet; }
65 template <typename EgressNetworkConnectorsT = Aws::Vector<Aws::String>>
66 void SetEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
67 m_egressNetworkConnectorsHasBeenSet = true;
68 m_egressNetworkConnectors = std::forward<EgressNetworkConnectorsT>(value);
69 }
70 template <typename EgressNetworkConnectorsT = Aws::Vector<Aws::String>>
71 RunMicrovmRequest& WithEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
72 SetEgressNetworkConnectors(std::forward<EgressNetworkConnectorsT>(value));
73 return *this;
74 }
75 template <typename EgressNetworkConnectorsT = Aws::String>
76 RunMicrovmRequest& AddEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
77 m_egressNetworkConnectorsHasBeenSet = true;
78 m_egressNetworkConnectors.emplace_back(std::forward<EgressNetworkConnectorsT>(value));
79 return *this;
80 }
82
84
87 inline const Aws::String& GetImageIdentifier() const { return m_imageIdentifier; }
88 inline bool ImageIdentifierHasBeenSet() const { return m_imageIdentifierHasBeenSet; }
89 template <typename ImageIdentifierT = Aws::String>
90 void SetImageIdentifier(ImageIdentifierT&& value) {
91 m_imageIdentifierHasBeenSet = true;
92 m_imageIdentifier = std::forward<ImageIdentifierT>(value);
93 }
94 template <typename ImageIdentifierT = Aws::String>
95 RunMicrovmRequest& WithImageIdentifier(ImageIdentifierT&& value) {
96 SetImageIdentifier(std::forward<ImageIdentifierT>(value));
97 return *this;
98 }
100
102
105 inline const Aws::String& GetImageVersion() const { return m_imageVersion; }
106 inline bool ImageVersionHasBeenSet() const { return m_imageVersionHasBeenSet; }
107 template <typename ImageVersionT = Aws::String>
108 void SetImageVersion(ImageVersionT&& value) {
109 m_imageVersionHasBeenSet = true;
110 m_imageVersion = std::forward<ImageVersionT>(value);
111 }
112 template <typename ImageVersionT = Aws::String>
113 RunMicrovmRequest& WithImageVersion(ImageVersionT&& value) {
114 SetImageVersion(std::forward<ImageVersionT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::String& GetExecutionRoleArn() const { return m_executionRoleArn; }
124 inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; }
125 template <typename ExecutionRoleArnT = Aws::String>
126 void SetExecutionRoleArn(ExecutionRoleArnT&& value) {
127 m_executionRoleArnHasBeenSet = true;
128 m_executionRoleArn = std::forward<ExecutionRoleArnT>(value);
129 }
130 template <typename ExecutionRoleArnT = Aws::String>
131 RunMicrovmRequest& WithExecutionRoleArn(ExecutionRoleArnT&& value) {
132 SetExecutionRoleArn(std::forward<ExecutionRoleArnT>(value));
133 return *this;
134 }
136
138
141 inline const IdlePolicy& GetIdlePolicy() const { return m_idlePolicy; }
142 inline bool IdlePolicyHasBeenSet() const { return m_idlePolicyHasBeenSet; }
143 template <typename IdlePolicyT = IdlePolicy>
144 void SetIdlePolicy(IdlePolicyT&& value) {
145 m_idlePolicyHasBeenSet = true;
146 m_idlePolicy = std::forward<IdlePolicyT>(value);
147 }
148 template <typename IdlePolicyT = IdlePolicy>
149 RunMicrovmRequest& WithIdlePolicy(IdlePolicyT&& value) {
150 SetIdlePolicy(std::forward<IdlePolicyT>(value));
151 return *this;
152 }
154
156
161 inline const Logging& GetLogging() const { return m_logging; }
162 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
163 template <typename LoggingT = Logging>
164 void SetLogging(LoggingT&& value) {
165 m_loggingHasBeenSet = true;
166 m_logging = std::forward<LoggingT>(value);
167 }
168 template <typename LoggingT = Logging>
169 RunMicrovmRequest& WithLogging(LoggingT&& value) {
170 SetLogging(std::forward<LoggingT>(value));
171 return *this;
172 }
174
176
181 inline const Aws::String& GetRunHookPayload() const { return m_runHookPayload; }
182 inline bool RunHookPayloadHasBeenSet() const { return m_runHookPayloadHasBeenSet; }
183 template <typename RunHookPayloadT = Aws::String>
184 void SetRunHookPayload(RunHookPayloadT&& value) {
185 m_runHookPayloadHasBeenSet = true;
186 m_runHookPayload = std::forward<RunHookPayloadT>(value);
187 }
188 template <typename RunHookPayloadT = Aws::String>
189 RunMicrovmRequest& WithRunHookPayload(RunHookPayloadT&& value) {
190 SetRunHookPayload(std::forward<RunHookPayloadT>(value));
191 return *this;
192 }
194
196
200 inline int GetMaximumDurationInSeconds() const { return m_maximumDurationInSeconds; }
201 inline bool MaximumDurationInSecondsHasBeenSet() const { return m_maximumDurationInSecondsHasBeenSet; }
202 inline void SetMaximumDurationInSeconds(int value) {
203 m_maximumDurationInSecondsHasBeenSet = true;
204 m_maximumDurationInSeconds = value;
205 }
208 return *this;
209 }
211
213
217 inline const Aws::String& GetClientToken() const { return m_clientToken; }
218 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
219 template <typename ClientTokenT = Aws::String>
220 void SetClientToken(ClientTokenT&& value) {
221 m_clientTokenHasBeenSet = true;
222 m_clientToken = std::forward<ClientTokenT>(value);
223 }
224 template <typename ClientTokenT = Aws::String>
225 RunMicrovmRequest& WithClientToken(ClientTokenT&& value) {
226 SetClientToken(std::forward<ClientTokenT>(value));
227 return *this;
228 }
230 private:
231 Aws::Vector<Aws::String> m_ingressNetworkConnectors;
232
233 Aws::Vector<Aws::String> m_egressNetworkConnectors;
234
235 Aws::String m_imageIdentifier;
236
237 Aws::String m_imageVersion;
238
239 Aws::String m_executionRoleArn;
240
241 IdlePolicy m_idlePolicy;
242
243 Logging m_logging;
244
245 Aws::String m_runHookPayload;
246
247 int m_maximumDurationInSeconds{0};
248
250 bool m_ingressNetworkConnectorsHasBeenSet = false;
251 bool m_egressNetworkConnectorsHasBeenSet = false;
252 bool m_imageIdentifierHasBeenSet = false;
253 bool m_imageVersionHasBeenSet = false;
254 bool m_executionRoleArnHasBeenSet = false;
255 bool m_idlePolicyHasBeenSet = false;
256 bool m_loggingHasBeenSet = false;
257 bool m_runHookPayloadHasBeenSet = false;
258 bool m_maximumDurationInSecondsHasBeenSet = false;
259 bool m_clientTokenHasBeenSet = true;
260};
261
262} // namespace Model
263} // namespace LambdaMicrovms
264} // namespace Aws
void SetRunHookPayload(RunHookPayloadT &&value)
void SetExecutionRoleArn(ExecutionRoleArnT &&value)
const Aws::Vector< Aws::String > & GetEgressNetworkConnectors() const
void SetIngressNetworkConnectors(IngressNetworkConnectorsT &&value)
RunMicrovmRequest & WithIdlePolicy(IdlePolicyT &&value)
RunMicrovmRequest & WithImageIdentifier(ImageIdentifierT &&value)
RunMicrovmRequest & AddEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
AWS_LAMBDAMICROVMS_API Aws::String SerializePayload() const override
RunMicrovmRequest & WithExecutionRoleArn(ExecutionRoleArnT &&value)
RunMicrovmRequest & WithEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
RunMicrovmRequest & WithIngressNetworkConnectors(IngressNetworkConnectorsT &&value)
RunMicrovmRequest & WithRunHookPayload(RunHookPayloadT &&value)
const Aws::Vector< Aws::String > & GetIngressNetworkConnectors() const
RunMicrovmRequest & WithMaximumDurationInSeconds(int value)
void SetEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
RunMicrovmRequest & WithImageVersion(ImageVersionT &&value)
virtual const char * GetServiceRequestName() const override
AWS_LAMBDAMICROVMS_API RunMicrovmRequest()=default
RunMicrovmRequest & AddIngressNetworkConnectors(IngressNetworkConnectorsT &&value)
void SetImageIdentifier(ImageIdentifierT &&value)
RunMicrovmRequest & WithLogging(LoggingT &&value)
RunMicrovmRequest & WithClientToken(ClientTokenT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector