AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
SubmitJobRequest.h
1
6#pragma once
7#include <aws/batch/BatchRequest.h>
8#include <aws/batch/Batch_EXPORTS.h>
9#include <aws/batch/model/ArrayProperties.h>
10#include <aws/batch/model/ConsumableResourceProperties.h>
11#include <aws/batch/model/ContainerOverrides.h>
12#include <aws/batch/model/EcsPropertiesOverride.h>
13#include <aws/batch/model/EksPropertiesOverride.h>
14#include <aws/batch/model/JobDependency.h>
15#include <aws/batch/model/JobTimeout.h>
16#include <aws/batch/model/NodeOverrides.h>
17#include <aws/batch/model/RetryStrategy.h>
18#include <aws/core/utils/memory/stl/AWSMap.h>
19#include <aws/core/utils/memory/stl/AWSString.h>
20#include <aws/core/utils/memory/stl/AWSVector.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Batch {
26namespace Model {
27
35 public:
36 AWS_BATCH_API SubmitJobRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "SubmitJob"; }
43
44 AWS_BATCH_API Aws::String SerializePayload() const override;
45
47
52 inline const Aws::String& GetJobName() const { return m_jobName; }
53 inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
54 template <typename JobNameT = Aws::String>
55 void SetJobName(JobNameT&& value) {
56 m_jobNameHasBeenSet = true;
57 m_jobName = std::forward<JobNameT>(value);
58 }
59 template <typename JobNameT = Aws::String>
60 SubmitJobRequest& WithJobName(JobNameT&& value) {
61 SetJobName(std::forward<JobNameT>(value));
62 return *this;
63 }
65
67
71 inline const Aws::String& GetJobQueue() const { return m_jobQueue; }
72 inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
73 template <typename JobQueueT = Aws::String>
74 void SetJobQueue(JobQueueT&& value) {
75 m_jobQueueHasBeenSet = true;
76 m_jobQueue = std::forward<JobQueueT>(value);
77 }
78 template <typename JobQueueT = Aws::String>
79 SubmitJobRequest& WithJobQueue(JobQueueT&& value) {
80 SetJobQueue(std::forward<JobQueueT>(value));
81 return *this;
82 }
84
86
93 inline const Aws::String& GetShareIdentifier() const { return m_shareIdentifier; }
94 inline bool ShareIdentifierHasBeenSet() const { return m_shareIdentifierHasBeenSet; }
95 template <typename ShareIdentifierT = Aws::String>
96 void SetShareIdentifier(ShareIdentifierT&& value) {
97 m_shareIdentifierHasBeenSet = true;
98 m_shareIdentifier = std::forward<ShareIdentifierT>(value);
99 }
100 template <typename ShareIdentifierT = Aws::String>
101 SubmitJobRequest& WithShareIdentifier(ShareIdentifierT&& value) {
102 SetShareIdentifier(std::forward<ShareIdentifierT>(value));
103 return *this;
104 }
106
108
116 inline int GetSchedulingPriorityOverride() const { return m_schedulingPriorityOverride; }
117 inline bool SchedulingPriorityOverrideHasBeenSet() const { return m_schedulingPriorityOverrideHasBeenSet; }
118 inline void SetSchedulingPriorityOverride(int value) {
119 m_schedulingPriorityOverrideHasBeenSet = true;
120 m_schedulingPriorityOverride = value;
121 }
124 return *this;
125 }
127
129
136 inline const ArrayProperties& GetArrayProperties() const { return m_arrayProperties; }
137 inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; }
138 template <typename ArrayPropertiesT = ArrayProperties>
139 void SetArrayProperties(ArrayPropertiesT&& value) {
140 m_arrayPropertiesHasBeenSet = true;
141 m_arrayProperties = std::forward<ArrayPropertiesT>(value);
142 }
143 template <typename ArrayPropertiesT = ArrayProperties>
144 SubmitJobRequest& WithArrayProperties(ArrayPropertiesT&& value) {
145 SetArrayProperties(std::forward<ArrayPropertiesT>(value));
146 return *this;
147 }
149
151
160 inline const Aws::Vector<JobDependency>& GetDependsOn() const { return m_dependsOn; }
161 inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; }
162 template <typename DependsOnT = Aws::Vector<JobDependency>>
163 void SetDependsOn(DependsOnT&& value) {
164 m_dependsOnHasBeenSet = true;
165 m_dependsOn = std::forward<DependsOnT>(value);
166 }
167 template <typename DependsOnT = Aws::Vector<JobDependency>>
168 SubmitJobRequest& WithDependsOn(DependsOnT&& value) {
169 SetDependsOn(std::forward<DependsOnT>(value));
170 return *this;
171 }
172 template <typename DependsOnT = JobDependency>
173 SubmitJobRequest& AddDependsOn(DependsOnT&& value) {
174 m_dependsOnHasBeenSet = true;
175 m_dependsOn.emplace_back(std::forward<DependsOnT>(value));
176 return *this;
177 }
179
181
191 inline const Aws::String& GetJobDefinition() const { return m_jobDefinition; }
192 inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; }
193 template <typename JobDefinitionT = Aws::String>
194 void SetJobDefinition(JobDefinitionT&& value) {
195 m_jobDefinitionHasBeenSet = true;
196 m_jobDefinition = std::forward<JobDefinitionT>(value);
197 }
198 template <typename JobDefinitionT = Aws::String>
199 SubmitJobRequest& WithJobDefinition(JobDefinitionT&& value) {
200 SetJobDefinition(std::forward<JobDefinitionT>(value));
201 return *this;
202 }
204
206
212 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
213 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
214 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
215 void SetParameters(ParametersT&& value) {
216 m_parametersHasBeenSet = true;
217 m_parameters = std::forward<ParametersT>(value);
218 }
219 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
220 SubmitJobRequest& WithParameters(ParametersT&& value) {
221 SetParameters(std::forward<ParametersT>(value));
222 return *this;
223 }
224 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
225 SubmitJobRequest& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
226 m_parametersHasBeenSet = true;
227 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
228 return *this;
229 }
231
233
242 inline const ContainerOverrides& GetContainerOverrides() const { return m_containerOverrides; }
243 inline bool ContainerOverridesHasBeenSet() const { return m_containerOverridesHasBeenSet; }
244 template <typename ContainerOverridesT = ContainerOverrides>
245 void SetContainerOverrides(ContainerOverridesT&& value) {
246 m_containerOverridesHasBeenSet = true;
247 m_containerOverrides = std::forward<ContainerOverridesT>(value);
248 }
249 template <typename ContainerOverridesT = ContainerOverrides>
250 SubmitJobRequest& WithContainerOverrides(ContainerOverridesT&& value) {
251 SetContainerOverrides(std::forward<ContainerOverridesT>(value));
252 return *this;
253 }
255
257
263 inline const NodeOverrides& GetNodeOverrides() const { return m_nodeOverrides; }
264 inline bool NodeOverridesHasBeenSet() const { return m_nodeOverridesHasBeenSet; }
265 template <typename NodeOverridesT = NodeOverrides>
266 void SetNodeOverrides(NodeOverridesT&& value) {
267 m_nodeOverridesHasBeenSet = true;
268 m_nodeOverrides = std::forward<NodeOverridesT>(value);
269 }
270 template <typename NodeOverridesT = NodeOverrides>
271 SubmitJobRequest& WithNodeOverrides(NodeOverridesT&& value) {
272 SetNodeOverrides(std::forward<NodeOverridesT>(value));
273 return *this;
274 }
276
278
283 inline const RetryStrategy& GetRetryStrategy() const { return m_retryStrategy; }
284 inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
285 template <typename RetryStrategyT = RetryStrategy>
286 void SetRetryStrategy(RetryStrategyT&& value) {
287 m_retryStrategyHasBeenSet = true;
288 m_retryStrategy = std::forward<RetryStrategyT>(value);
289 }
290 template <typename RetryStrategyT = RetryStrategy>
291 SubmitJobRequest& WithRetryStrategy(RetryStrategyT&& value) {
292 SetRetryStrategy(std::forward<RetryStrategyT>(value));
293 return *this;
294 }
296
298
307 inline bool GetPropagateTags() const { return m_propagateTags; }
308 inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
309 inline void SetPropagateTags(bool value) {
310 m_propagateTagsHasBeenSet = true;
311 m_propagateTags = value;
312 }
314 SetPropagateTags(value);
315 return *this;
316 }
318
320
331 inline const JobTimeout& GetTimeout() const { return m_timeout; }
332 inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
333 template <typename TimeoutT = JobTimeout>
334 void SetTimeout(TimeoutT&& value) {
335 m_timeoutHasBeenSet = true;
336 m_timeout = std::forward<TimeoutT>(value);
337 }
338 template <typename TimeoutT = JobTimeout>
339 SubmitJobRequest& WithTimeout(TimeoutT&& value) {
340 SetTimeout(std::forward<TimeoutT>(value));
341 return *this;
342 }
344
346
354 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
355 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
356 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
357 void SetTags(TagsT&& value) {
358 m_tagsHasBeenSet = true;
359 m_tags = std::forward<TagsT>(value);
360 }
361 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
362 SubmitJobRequest& WithTags(TagsT&& value) {
363 SetTags(std::forward<TagsT>(value));
364 return *this;
365 }
366 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
367 SubmitJobRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
368 m_tagsHasBeenSet = true;
369 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
370 return *this;
371 }
373
375
379 inline const EksPropertiesOverride& GetEksPropertiesOverride() const { return m_eksPropertiesOverride; }
380 inline bool EksPropertiesOverrideHasBeenSet() const { return m_eksPropertiesOverrideHasBeenSet; }
381 template <typename EksPropertiesOverrideT = EksPropertiesOverride>
382 void SetEksPropertiesOverride(EksPropertiesOverrideT&& value) {
383 m_eksPropertiesOverrideHasBeenSet = true;
384 m_eksPropertiesOverride = std::forward<EksPropertiesOverrideT>(value);
385 }
386 template <typename EksPropertiesOverrideT = EksPropertiesOverride>
387 SubmitJobRequest& WithEksPropertiesOverride(EksPropertiesOverrideT&& value) {
388 SetEksPropertiesOverride(std::forward<EksPropertiesOverrideT>(value));
389 return *this;
390 }
392
394
398 inline const EcsPropertiesOverride& GetEcsPropertiesOverride() const { return m_ecsPropertiesOverride; }
399 inline bool EcsPropertiesOverrideHasBeenSet() const { return m_ecsPropertiesOverrideHasBeenSet; }
400 template <typename EcsPropertiesOverrideT = EcsPropertiesOverride>
401 void SetEcsPropertiesOverride(EcsPropertiesOverrideT&& value) {
402 m_ecsPropertiesOverrideHasBeenSet = true;
403 m_ecsPropertiesOverride = std::forward<EcsPropertiesOverrideT>(value);
404 }
405 template <typename EcsPropertiesOverrideT = EcsPropertiesOverride>
406 SubmitJobRequest& WithEcsPropertiesOverride(EcsPropertiesOverrideT&& value) {
407 SetEcsPropertiesOverride(std::forward<EcsPropertiesOverrideT>(value));
408 return *this;
409 }
411
413
417 return m_consumableResourcePropertiesOverride;
418 }
419 inline bool ConsumableResourcePropertiesOverrideHasBeenSet() const { return m_consumableResourcePropertiesOverrideHasBeenSet; }
420 template <typename ConsumableResourcePropertiesOverrideT = ConsumableResourceProperties>
421 void SetConsumableResourcePropertiesOverride(ConsumableResourcePropertiesOverrideT&& value) {
422 m_consumableResourcePropertiesOverrideHasBeenSet = true;
423 m_consumableResourcePropertiesOverride = std::forward<ConsumableResourcePropertiesOverrideT>(value);
424 }
425 template <typename ConsumableResourcePropertiesOverrideT = ConsumableResourceProperties>
426 SubmitJobRequest& WithConsumableResourcePropertiesOverride(ConsumableResourcePropertiesOverrideT&& value) {
427 SetConsumableResourcePropertiesOverride(std::forward<ConsumableResourcePropertiesOverrideT>(value));
428 return *this;
429 }
431 private:
432 Aws::String m_jobName;
433
434 Aws::String m_jobQueue;
435
436 Aws::String m_shareIdentifier;
437
438 int m_schedulingPriorityOverride{0};
439
440 ArrayProperties m_arrayProperties;
441
442 Aws::Vector<JobDependency> m_dependsOn;
443
444 Aws::String m_jobDefinition;
445
447
448 ContainerOverrides m_containerOverrides;
449
450 NodeOverrides m_nodeOverrides;
451
452 RetryStrategy m_retryStrategy;
453
454 bool m_propagateTags{false};
455
456 JobTimeout m_timeout;
457
459
460 EksPropertiesOverride m_eksPropertiesOverride;
461
462 EcsPropertiesOverride m_ecsPropertiesOverride;
463
464 ConsumableResourceProperties m_consumableResourcePropertiesOverride;
465 bool m_jobNameHasBeenSet = false;
466 bool m_jobQueueHasBeenSet = false;
467 bool m_shareIdentifierHasBeenSet = false;
468 bool m_schedulingPriorityOverrideHasBeenSet = false;
469 bool m_arrayPropertiesHasBeenSet = false;
470 bool m_dependsOnHasBeenSet = false;
471 bool m_jobDefinitionHasBeenSet = false;
472 bool m_parametersHasBeenSet = false;
473 bool m_containerOverridesHasBeenSet = false;
474 bool m_nodeOverridesHasBeenSet = false;
475 bool m_retryStrategyHasBeenSet = false;
476 bool m_propagateTagsHasBeenSet = false;
477 bool m_timeoutHasBeenSet = false;
478 bool m_tagsHasBeenSet = false;
479 bool m_eksPropertiesOverrideHasBeenSet = false;
480 bool m_ecsPropertiesOverrideHasBeenSet = false;
481 bool m_consumableResourcePropertiesOverrideHasBeenSet = false;
482};
483
484} // namespace Model
485} // namespace Batch
486} // namespace Aws
const ConsumableResourceProperties & GetConsumableResourcePropertiesOverride() const
const NodeOverrides & GetNodeOverrides() const
void SetConsumableResourcePropertiesOverride(ConsumableResourcePropertiesOverrideT &&value)
SubmitJobRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::String & GetJobDefinition() const
SubmitJobRequest & WithJobQueue(JobQueueT &&value)
void SetArrayProperties(ArrayPropertiesT &&value)
SubmitJobRequest & WithNodeOverrides(NodeOverridesT &&value)
const Aws::String & GetJobName() const
SubmitJobRequest & WithJobDefinition(JobDefinitionT &&value)
const Aws::String & GetJobQueue() const
SubmitJobRequest & WithJobName(JobNameT &&value)
void SetJobDefinition(JobDefinitionT &&value)
SubmitJobRequest & AddDependsOn(DependsOnT &&value)
const Aws::String & GetShareIdentifier() const
virtual const char * GetServiceRequestName() const override
SubmitJobRequest & WithSchedulingPriorityOverride(int value)
void SetShareIdentifier(ShareIdentifierT &&value)
SubmitJobRequest & WithConsumableResourcePropertiesOverride(ConsumableResourcePropertiesOverrideT &&value)
SubmitJobRequest & WithDependsOn(DependsOnT &&value)
void SetParameters(ParametersT &&value)
SubmitJobRequest & WithShareIdentifier(ShareIdentifierT &&value)
const EcsPropertiesOverride & GetEcsPropertiesOverride() const
SubmitJobRequest & WithEksPropertiesOverride(EksPropertiesOverrideT &&value)
void SetNodeOverrides(NodeOverridesT &&value)
void SetContainerOverrides(ContainerOverridesT &&value)
void SetEcsPropertiesOverride(EcsPropertiesOverrideT &&value)
SubmitJobRequest & WithPropagateTags(bool value)
const RetryStrategy & GetRetryStrategy() const
AWS_BATCH_API Aws::String SerializePayload() const override
SubmitJobRequest & WithTags(TagsT &&value)
bool ConsumableResourcePropertiesOverrideHasBeenSet() const
SubmitJobRequest & WithRetryStrategy(RetryStrategyT &&value)
SubmitJobRequest & WithEcsPropertiesOverride(EcsPropertiesOverrideT &&value)
const JobTimeout & GetTimeout() const
SubmitJobRequest & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
SubmitJobRequest & WithArrayProperties(ArrayPropertiesT &&value)
void SetEksPropertiesOverride(EksPropertiesOverrideT &&value)
const EksPropertiesOverride & GetEksPropertiesOverride() const
void SetRetryStrategy(RetryStrategyT &&value)
const Aws::Vector< JobDependency > & GetDependsOn() const
SubmitJobRequest & WithContainerOverrides(ContainerOverridesT &&value)
void SetJobQueue(JobQueueT &&value)
void SetDependsOn(DependsOnT &&value)
const ArrayProperties & GetArrayProperties() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
SubmitJobRequest & WithTimeout(TimeoutT &&value)
SubmitJobRequest & WithParameters(ParametersT &&value)
AWS_BATCH_API SubmitJobRequest()=default
const ContainerOverrides & GetContainerOverrides() const
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
std::vector< T, Aws::Allocator< T > > Vector