AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
JobDefinition.h
1
6#pragma once
7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/batch/model/RetryStrategy.h>
11#include <aws/batch/model/ContainerProperties.h>
12#include <aws/batch/model/JobTimeout.h>
13#include <aws/batch/model/NodeProperties.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/batch/model/EcsProperties.h>
16#include <aws/batch/model/EksProperties.h>
17#include <aws/batch/model/OrchestrationType.h>
18#include <aws/batch/model/ConsumableResourceProperties.h>
19#include <aws/batch/model/PlatformCapability.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace Batch
33{
34namespace Model
35{
36
44 {
45 public:
46 AWS_BATCH_API JobDefinition() = default;
47 AWS_BATCH_API JobDefinition(Aws::Utils::Json::JsonView jsonValue);
49 AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const;
50
51
53
56 inline const Aws::String& GetJobDefinitionName() const { return m_jobDefinitionName; }
57 inline bool JobDefinitionNameHasBeenSet() const { return m_jobDefinitionNameHasBeenSet; }
58 template<typename JobDefinitionNameT = Aws::String>
59 void SetJobDefinitionName(JobDefinitionNameT&& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = std::forward<JobDefinitionNameT>(value); }
60 template<typename JobDefinitionNameT = Aws::String>
61 JobDefinition& WithJobDefinitionName(JobDefinitionNameT&& value) { SetJobDefinitionName(std::forward<JobDefinitionNameT>(value)); return *this;}
63
65
68 inline const Aws::String& GetJobDefinitionArn() const { return m_jobDefinitionArn; }
69 inline bool JobDefinitionArnHasBeenSet() const { return m_jobDefinitionArnHasBeenSet; }
70 template<typename JobDefinitionArnT = Aws::String>
71 void SetJobDefinitionArn(JobDefinitionArnT&& value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn = std::forward<JobDefinitionArnT>(value); }
72 template<typename JobDefinitionArnT = Aws::String>
73 JobDefinition& WithJobDefinitionArn(JobDefinitionArnT&& value) { SetJobDefinitionArn(std::forward<JobDefinitionArnT>(value)); return *this;}
75
77
80 inline int GetRevision() const { return m_revision; }
81 inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; }
82 inline void SetRevision(int value) { m_revisionHasBeenSet = true; m_revision = value; }
83 inline JobDefinition& WithRevision(int value) { SetRevision(value); return *this;}
85
87
90 inline const Aws::String& GetStatus() const { return m_status; }
91 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
92 template<typename StatusT = Aws::String>
93 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
94 template<typename StatusT = Aws::String>
95 JobDefinition& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
97
99
107 inline const Aws::String& GetType() const { return m_type; }
108 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
109 template<typename TypeT = Aws::String>
110 void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward<TypeT>(value); }
111 template<typename TypeT = Aws::String>
112 JobDefinition& WithType(TypeT&& value) { SetType(std::forward<TypeT>(value)); return *this;}
114
116
121 inline int GetSchedulingPriority() const { return m_schedulingPriority; }
122 inline bool SchedulingPriorityHasBeenSet() const { return m_schedulingPriorityHasBeenSet; }
123 inline void SetSchedulingPriority(int value) { m_schedulingPriorityHasBeenSet = true; m_schedulingPriority = value; }
124 inline JobDefinition& WithSchedulingPriority(int value) { SetSchedulingPriority(value); return *this;}
126
128
137 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
138 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
139 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
140 void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward<ParametersT>(value); }
141 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
142 JobDefinition& WithParameters(ParametersT&& value) { SetParameters(std::forward<ParametersT>(value)); return *this;}
143 template<typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
144 JobDefinition& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
145 m_parametersHasBeenSet = true; m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value)); return *this;
146 }
148
150
154 inline const RetryStrategy& GetRetryStrategy() const { return m_retryStrategy; }
155 inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
156 template<typename RetryStrategyT = RetryStrategy>
157 void SetRetryStrategy(RetryStrategyT&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::forward<RetryStrategyT>(value); }
158 template<typename RetryStrategyT = RetryStrategy>
159 JobDefinition& WithRetryStrategy(RetryStrategyT&& value) { SetRetryStrategy(std::forward<RetryStrategyT>(value)); return *this;}
161
163
169 inline const ContainerProperties& GetContainerProperties() const { return m_containerProperties; }
170 inline bool ContainerPropertiesHasBeenSet() const { return m_containerPropertiesHasBeenSet; }
171 template<typename ContainerPropertiesT = ContainerProperties>
172 void SetContainerProperties(ContainerPropertiesT&& value) { m_containerPropertiesHasBeenSet = true; m_containerProperties = std::forward<ContainerPropertiesT>(value); }
173 template<typename ContainerPropertiesT = ContainerProperties>
174 JobDefinition& WithContainerProperties(ContainerPropertiesT&& value) { SetContainerProperties(std::forward<ContainerPropertiesT>(value)); return *this;}
176
178
183 inline const JobTimeout& GetTimeout() const { return m_timeout; }
184 inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
185 template<typename TimeoutT = JobTimeout>
186 void SetTimeout(TimeoutT&& value) { m_timeoutHasBeenSet = true; m_timeout = std::forward<TimeoutT>(value); }
187 template<typename TimeoutT = JobTimeout>
188 JobDefinition& WithTimeout(TimeoutT&& value) { SetTimeout(std::forward<TimeoutT>(value)); return *this;}
190
192
200 inline const NodeProperties& GetNodeProperties() const { return m_nodeProperties; }
201 inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; }
202 template<typename NodePropertiesT = NodeProperties>
203 void SetNodeProperties(NodePropertiesT&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::forward<NodePropertiesT>(value); }
204 template<typename NodePropertiesT = NodeProperties>
205 JobDefinition& WithNodeProperties(NodePropertiesT&& value) { SetNodeProperties(std::forward<NodePropertiesT>(value)); return *this;}
207
209
212 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
213 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
214 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
215 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
216 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
217 JobDefinition& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
218 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
219 JobDefinition& AddTags(TagsKeyT&& key, TagsValueT&& value) {
220 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
221 }
223
225
233 inline bool GetPropagateTags() const { return m_propagateTags; }
234 inline bool PropagateTagsHasBeenSet() const { return m_propagateTagsHasBeenSet; }
235 inline void SetPropagateTags(bool value) { m_propagateTagsHasBeenSet = true; m_propagateTags = value; }
236 inline JobDefinition& WithPropagateTags(bool value) { SetPropagateTags(value); return *this;}
238
240
245 inline const Aws::Vector<PlatformCapability>& GetPlatformCapabilities() const { return m_platformCapabilities; }
246 inline bool PlatformCapabilitiesHasBeenSet() const { return m_platformCapabilitiesHasBeenSet; }
247 template<typename PlatformCapabilitiesT = Aws::Vector<PlatformCapability>>
248 void SetPlatformCapabilities(PlatformCapabilitiesT&& value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities = std::forward<PlatformCapabilitiesT>(value); }
249 template<typename PlatformCapabilitiesT = Aws::Vector<PlatformCapability>>
250 JobDefinition& WithPlatformCapabilities(PlatformCapabilitiesT&& value) { SetPlatformCapabilities(std::forward<PlatformCapabilitiesT>(value)); return *this;}
251 inline JobDefinition& AddPlatformCapabilities(PlatformCapability value) { m_platformCapabilitiesHasBeenSet = true; m_platformCapabilities.push_back(value); return *this; }
253
255
261 inline const EcsProperties& GetEcsProperties() const { return m_ecsProperties; }
262 inline bool EcsPropertiesHasBeenSet() const { return m_ecsPropertiesHasBeenSet; }
263 template<typename EcsPropertiesT = EcsProperties>
264 void SetEcsProperties(EcsPropertiesT&& value) { m_ecsPropertiesHasBeenSet = true; m_ecsProperties = std::forward<EcsPropertiesT>(value); }
265 template<typename EcsPropertiesT = EcsProperties>
266 JobDefinition& WithEcsProperties(EcsPropertiesT&& value) { SetEcsProperties(std::forward<EcsPropertiesT>(value)); return *this;}
268
270
276 inline const EksProperties& GetEksProperties() const { return m_eksProperties; }
277 inline bool EksPropertiesHasBeenSet() const { return m_eksPropertiesHasBeenSet; }
278 template<typename EksPropertiesT = EksProperties>
279 void SetEksProperties(EksPropertiesT&& value) { m_eksPropertiesHasBeenSet = true; m_eksProperties = std::forward<EksPropertiesT>(value); }
280 template<typename EksPropertiesT = EksProperties>
281 JobDefinition& WithEksProperties(EksPropertiesT&& value) { SetEksProperties(std::forward<EksPropertiesT>(value)); return *this;}
283
285
289 inline OrchestrationType GetContainerOrchestrationType() const { return m_containerOrchestrationType; }
290 inline bool ContainerOrchestrationTypeHasBeenSet() const { return m_containerOrchestrationTypeHasBeenSet; }
291 inline void SetContainerOrchestrationType(OrchestrationType value) { m_containerOrchestrationTypeHasBeenSet = true; m_containerOrchestrationType = value; }
294
296
299 inline const ConsumableResourceProperties& GetConsumableResourceProperties() const { return m_consumableResourceProperties; }
300 inline bool ConsumableResourcePropertiesHasBeenSet() const { return m_consumableResourcePropertiesHasBeenSet; }
301 template<typename ConsumableResourcePropertiesT = ConsumableResourceProperties>
302 void SetConsumableResourceProperties(ConsumableResourcePropertiesT&& value) { m_consumableResourcePropertiesHasBeenSet = true; m_consumableResourceProperties = std::forward<ConsumableResourcePropertiesT>(value); }
303 template<typename ConsumableResourcePropertiesT = ConsumableResourceProperties>
304 JobDefinition& WithConsumableResourceProperties(ConsumableResourcePropertiesT&& value) { SetConsumableResourceProperties(std::forward<ConsumableResourcePropertiesT>(value)); return *this;}
306 private:
307
308 Aws::String m_jobDefinitionName;
309 bool m_jobDefinitionNameHasBeenSet = false;
310
311 Aws::String m_jobDefinitionArn;
312 bool m_jobDefinitionArnHasBeenSet = false;
313
314 int m_revision{0};
315 bool m_revisionHasBeenSet = false;
316
317 Aws::String m_status;
318 bool m_statusHasBeenSet = false;
319
320 Aws::String m_type;
321 bool m_typeHasBeenSet = false;
322
323 int m_schedulingPriority{0};
324 bool m_schedulingPriorityHasBeenSet = false;
325
327 bool m_parametersHasBeenSet = false;
328
329 RetryStrategy m_retryStrategy;
330 bool m_retryStrategyHasBeenSet = false;
331
332 ContainerProperties m_containerProperties;
333 bool m_containerPropertiesHasBeenSet = false;
334
335 JobTimeout m_timeout;
336 bool m_timeoutHasBeenSet = false;
337
338 NodeProperties m_nodeProperties;
339 bool m_nodePropertiesHasBeenSet = false;
340
342 bool m_tagsHasBeenSet = false;
343
344 bool m_propagateTags{false};
345 bool m_propagateTagsHasBeenSet = false;
346
347 Aws::Vector<PlatformCapability> m_platformCapabilities;
348 bool m_platformCapabilitiesHasBeenSet = false;
349
350 EcsProperties m_ecsProperties;
351 bool m_ecsPropertiesHasBeenSet = false;
352
353 EksProperties m_eksProperties;
354 bool m_eksPropertiesHasBeenSet = false;
355
356 OrchestrationType m_containerOrchestrationType{OrchestrationType::NOT_SET};
357 bool m_containerOrchestrationTypeHasBeenSet = false;
358
359 ConsumableResourceProperties m_consumableResourceProperties;
360 bool m_consumableResourcePropertiesHasBeenSet = false;
361 };
362
363} // namespace Model
364} // namespace Batch
365} // namespace Aws
const NodeProperties & GetNodeProperties() const
const Aws::String & GetJobDefinitionName() const
JobDefinition & WithContainerOrchestrationType(OrchestrationType value)
JobDefinition & WithContainerProperties(ContainerPropertiesT &&value)
void SetContainerProperties(ContainerPropertiesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const ConsumableResourceProperties & GetConsumableResourceProperties() const
bool ConsumableResourcePropertiesHasBeenSet() const
AWS_BATCH_API JobDefinition(Aws::Utils::Json::JsonView jsonValue)
JobDefinition & AddPlatformCapabilities(PlatformCapability value)
JobDefinition & WithParameters(ParametersT &&value)
JobDefinition & WithJobDefinitionArn(JobDefinitionArnT &&value)
void SetContainerOrchestrationType(OrchestrationType value)
void SetTimeout(TimeoutT &&value)
void SetStatus(StatusT &&value)
void SetPlatformCapabilities(PlatformCapabilitiesT &&value)
void SetJobDefinitionName(JobDefinitionNameT &&value)
void SetEksProperties(EksPropertiesT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
const EksProperties & GetEksProperties() const
AWS_BATCH_API JobDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
const JobTimeout & GetTimeout() const
void SetEcsProperties(EcsPropertiesT &&value)
void SetJobDefinitionArn(JobDefinitionArnT &&value)
JobDefinition & WithEksProperties(EksPropertiesT &&value)
JobDefinition & AddTags(TagsKeyT &&key, TagsValueT &&value)
JobDefinition & WithStatus(StatusT &&value)
JobDefinition & WithSchedulingPriority(int value)
const Aws::Vector< PlatformCapability > & GetPlatformCapabilities() const
JobDefinition & WithType(TypeT &&value)
const Aws::String & GetJobDefinitionArn() const
void SetParameters(ParametersT &&value)
JobDefinition & WithRevision(int value)
void SetNodeProperties(NodePropertiesT &&value)
const EcsProperties & GetEcsProperties() const
const ContainerProperties & GetContainerProperties() const
bool ContainerOrchestrationTypeHasBeenSet() const
JobDefinition & WithRetryStrategy(RetryStrategyT &&value)
const RetryStrategy & GetRetryStrategy() const
void SetConsumableResourceProperties(ConsumableResourcePropertiesT &&value)
JobDefinition & WithEcsProperties(EcsPropertiesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
const Aws::String & GetType() const
OrchestrationType GetContainerOrchestrationType() const
const Aws::String & GetStatus() const
JobDefinition & WithTimeout(TimeoutT &&value)
JobDefinition & WithJobDefinitionName(JobDefinitionNameT &&value)
JobDefinition & WithTags(TagsT &&value)
JobDefinition & WithConsumableResourceProperties(ConsumableResourcePropertiesT &&value)
JobDefinition & WithPropagateTags(bool value)
JobDefinition & WithPlatformCapabilities(PlatformCapabilitiesT &&value)
void SetRetryStrategy(RetryStrategyT &&value)
AWS_BATCH_API JobDefinition()=default
JobDefinition & WithNodeProperties(NodePropertiesT &&value)
JobDefinition & AddParameters(ParametersKeyT &&key, ParametersValueT &&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
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue