AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
RegisterTaskDefinitionRequest.h
1
6#pragma once
7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/ecs/ECSRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ecs/model/NetworkMode.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ecs/model/PidMode.h>
13#include <aws/ecs/model/IpcMode.h>
14#include <aws/ecs/model/ProxyConfiguration.h>
15#include <aws/ecs/model/EphemeralStorage.h>
16#include <aws/ecs/model/RuntimePlatform.h>
17#include <aws/ecs/model/ContainerDefinition.h>
18#include <aws/ecs/model/Volume.h>
19#include <aws/ecs/model/TaskDefinitionPlacementConstraint.h>
20#include <aws/ecs/model/Compatibility.h>
21#include <aws/ecs/model/Tag.h>
22#include <aws/ecs/model/InferenceAccelerator.h>
23#include <utility>
24
25namespace Aws
26{
27namespace ECS
28{
29namespace Model
30{
31
35 {
36 public:
37 AWS_ECS_API RegisterTaskDefinitionRequest() = default;
38
39 // Service request name is the Operation name which will send this request out,
40 // each operation should has unique request name, so that we can get operation's name from this request.
41 // Note: this is not true for response, multiple operations may have the same response name,
42 // so we can not get operation's name from response.
43 inline virtual const char* GetServiceRequestName() const override { return "RegisterTaskDefinition"; }
44
45 AWS_ECS_API Aws::String SerializePayload() const override;
46
48
49
51
57 inline const Aws::String& GetFamily() const { return m_family; }
58 inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; }
59 template<typename FamilyT = Aws::String>
60 void SetFamily(FamilyT&& value) { m_familyHasBeenSet = true; m_family = std::forward<FamilyT>(value); }
61 template<typename FamilyT = Aws::String>
62 RegisterTaskDefinitionRequest& WithFamily(FamilyT&& value) { SetFamily(std::forward<FamilyT>(value)); return *this;}
64
66
74 inline const Aws::String& GetTaskRoleArn() const { return m_taskRoleArn; }
75 inline bool TaskRoleArnHasBeenSet() const { return m_taskRoleArnHasBeenSet; }
76 template<typename TaskRoleArnT = Aws::String>
77 void SetTaskRoleArn(TaskRoleArnT&& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = std::forward<TaskRoleArnT>(value); }
78 template<typename TaskRoleArnT = Aws::String>
79 RegisterTaskDefinitionRequest& WithTaskRoleArn(TaskRoleArnT&& value) { SetTaskRoleArn(std::forward<TaskRoleArnT>(value)); return *this;}
81
83
91 inline const Aws::String& GetExecutionRoleArn() const { return m_executionRoleArn; }
92 inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; }
93 template<typename ExecutionRoleArnT = Aws::String>
94 void SetExecutionRoleArn(ExecutionRoleArnT&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::forward<ExecutionRoleArnT>(value); }
95 template<typename ExecutionRoleArnT = Aws::String>
96 RegisterTaskDefinitionRequest& WithExecutionRoleArn(ExecutionRoleArnT&& value) { SetExecutionRoleArn(std::forward<ExecutionRoleArnT>(value)); return *this;}
98
100
131 inline NetworkMode GetNetworkMode() const { return m_networkMode; }
132 inline bool NetworkModeHasBeenSet() const { return m_networkModeHasBeenSet; }
133 inline void SetNetworkMode(NetworkMode value) { m_networkModeHasBeenSet = true; m_networkMode = value; }
136
138
142 inline const Aws::Vector<ContainerDefinition>& GetContainerDefinitions() const { return m_containerDefinitions; }
143 inline bool ContainerDefinitionsHasBeenSet() const { return m_containerDefinitionsHasBeenSet; }
144 template<typename ContainerDefinitionsT = Aws::Vector<ContainerDefinition>>
145 void SetContainerDefinitions(ContainerDefinitionsT&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions = std::forward<ContainerDefinitionsT>(value); }
146 template<typename ContainerDefinitionsT = Aws::Vector<ContainerDefinition>>
147 RegisterTaskDefinitionRequest& WithContainerDefinitions(ContainerDefinitionsT&& value) { SetContainerDefinitions(std::forward<ContainerDefinitionsT>(value)); return *this;}
148 template<typename ContainerDefinitionsT = ContainerDefinition>
149 RegisterTaskDefinitionRequest& AddContainerDefinitions(ContainerDefinitionsT&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.emplace_back(std::forward<ContainerDefinitionsT>(value)); return *this; }
151
153
157 inline const Aws::Vector<Volume>& GetVolumes() const { return m_volumes; }
158 inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; }
159 template<typename VolumesT = Aws::Vector<Volume>>
160 void SetVolumes(VolumesT&& value) { m_volumesHasBeenSet = true; m_volumes = std::forward<VolumesT>(value); }
161 template<typename VolumesT = Aws::Vector<Volume>>
162 RegisterTaskDefinitionRequest& WithVolumes(VolumesT&& value) { SetVolumes(std::forward<VolumesT>(value)); return *this;}
163 template<typename VolumesT = Volume>
164 RegisterTaskDefinitionRequest& AddVolumes(VolumesT&& value) { m_volumesHasBeenSet = true; m_volumes.emplace_back(std::forward<VolumesT>(value)); return *this; }
166
168
173 inline const Aws::Vector<TaskDefinitionPlacementConstraint>& GetPlacementConstraints() const { return m_placementConstraints; }
174 inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; }
175 template<typename PlacementConstraintsT = Aws::Vector<TaskDefinitionPlacementConstraint>>
176 void SetPlacementConstraints(PlacementConstraintsT&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints = std::forward<PlacementConstraintsT>(value); }
177 template<typename PlacementConstraintsT = Aws::Vector<TaskDefinitionPlacementConstraint>>
178 RegisterTaskDefinitionRequest& WithPlacementConstraints(PlacementConstraintsT&& value) { SetPlacementConstraints(std::forward<PlacementConstraintsT>(value)); return *this;}
179 template<typename PlacementConstraintsT = TaskDefinitionPlacementConstraint>
180 RegisterTaskDefinitionRequest& AddPlacementConstraints(PlacementConstraintsT&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.emplace_back(std::forward<PlacementConstraintsT>(value)); return *this; }
182
184
190 inline const Aws::Vector<Compatibility>& GetRequiresCompatibilities() const { return m_requiresCompatibilities; }
191 inline bool RequiresCompatibilitiesHasBeenSet() const { return m_requiresCompatibilitiesHasBeenSet; }
192 template<typename RequiresCompatibilitiesT = Aws::Vector<Compatibility>>
193 void SetRequiresCompatibilities(RequiresCompatibilitiesT&& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities = std::forward<RequiresCompatibilitiesT>(value); }
194 template<typename RequiresCompatibilitiesT = Aws::Vector<Compatibility>>
195 RegisterTaskDefinitionRequest& WithRequiresCompatibilities(RequiresCompatibilitiesT&& value) { SetRequiresCompatibilities(std::forward<RequiresCompatibilitiesT>(value)); return *this;}
196 inline RegisterTaskDefinitionRequest& AddRequiresCompatibilities(Compatibility value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(value); return *this; }
198
200
216 inline const Aws::String& GetCpu() const { return m_cpu; }
217 inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; }
218 template<typename CpuT = Aws::String>
219 void SetCpu(CpuT&& value) { m_cpuHasBeenSet = true; m_cpu = std::forward<CpuT>(value); }
220 template<typename CpuT = Aws::String>
221 RegisterTaskDefinitionRequest& WithCpu(CpuT&& value) { SetCpu(std::forward<CpuT>(value)); return *this;}
223
225
252 inline const Aws::String& GetMemory() const { return m_memory; }
253 inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
254 template<typename MemoryT = Aws::String>
255 void SetMemory(MemoryT&& value) { m_memoryHasBeenSet = true; m_memory = std::forward<MemoryT>(value); }
256 template<typename MemoryT = Aws::String>
257 RegisterTaskDefinitionRequest& WithMemory(MemoryT&& value) { SetMemory(std::forward<MemoryT>(value)); return *this;}
259
261
279 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
280 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
281 template<typename TagsT = Aws::Vector<Tag>>
282 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
283 template<typename TagsT = Aws::Vector<Tag>>
284 RegisterTaskDefinitionRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
285 template<typename TagsT = Tag>
286 RegisterTaskDefinitionRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
288
290
308 inline PidMode GetPidMode() const { return m_pidMode; }
309 inline bool PidModeHasBeenSet() const { return m_pidModeHasBeenSet; }
310 inline void SetPidMode(PidMode value) { m_pidModeHasBeenSet = true; m_pidMode = value; }
311 inline RegisterTaskDefinitionRequest& WithPidMode(PidMode value) { SetPidMode(value); return *this;}
313
315
340 inline IpcMode GetIpcMode() const { return m_ipcMode; }
341 inline bool IpcModeHasBeenSet() const { return m_ipcModeHasBeenSet; }
342 inline void SetIpcMode(IpcMode value) { m_ipcModeHasBeenSet = true; m_ipcMode = value; }
343 inline RegisterTaskDefinitionRequest& WithIpcMode(IpcMode value) { SetIpcMode(value); return *this;}
345
347
360 inline const ProxyConfiguration& GetProxyConfiguration() const { return m_proxyConfiguration; }
361 inline bool ProxyConfigurationHasBeenSet() const { return m_proxyConfigurationHasBeenSet; }
362 template<typename ProxyConfigurationT = ProxyConfiguration>
363 void SetProxyConfiguration(ProxyConfigurationT&& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = std::forward<ProxyConfigurationT>(value); }
364 template<typename ProxyConfigurationT = ProxyConfiguration>
365 RegisterTaskDefinitionRequest& WithProxyConfiguration(ProxyConfigurationT&& value) { SetProxyConfiguration(std::forward<ProxyConfigurationT>(value)); return *this;}
367
369
372 inline const Aws::Vector<InferenceAccelerator>& GetInferenceAccelerators() const { return m_inferenceAccelerators; }
373 inline bool InferenceAcceleratorsHasBeenSet() const { return m_inferenceAcceleratorsHasBeenSet; }
374 template<typename InferenceAcceleratorsT = Aws::Vector<InferenceAccelerator>>
375 void SetInferenceAccelerators(InferenceAcceleratorsT&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators = std::forward<InferenceAcceleratorsT>(value); }
376 template<typename InferenceAcceleratorsT = Aws::Vector<InferenceAccelerator>>
377 RegisterTaskDefinitionRequest& WithInferenceAccelerators(InferenceAcceleratorsT&& value) { SetInferenceAccelerators(std::forward<InferenceAcceleratorsT>(value)); return *this;}
378 template<typename InferenceAcceleratorsT = InferenceAccelerator>
379 RegisterTaskDefinitionRequest& AddInferenceAccelerators(InferenceAcceleratorsT&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.emplace_back(std::forward<InferenceAcceleratorsT>(value)); return *this; }
381
383
394 inline const EphemeralStorage& GetEphemeralStorage() const { return m_ephemeralStorage; }
395 inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; }
396 template<typename EphemeralStorageT = EphemeralStorage>
397 void SetEphemeralStorage(EphemeralStorageT&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::forward<EphemeralStorageT>(value); }
398 template<typename EphemeralStorageT = EphemeralStorage>
399 RegisterTaskDefinitionRequest& WithEphemeralStorage(EphemeralStorageT&& value) { SetEphemeralStorage(std::forward<EphemeralStorageT>(value)); return *this;}
401
403
407 inline const RuntimePlatform& GetRuntimePlatform() const { return m_runtimePlatform; }
408 inline bool RuntimePlatformHasBeenSet() const { return m_runtimePlatformHasBeenSet; }
409 template<typename RuntimePlatformT = RuntimePlatform>
410 void SetRuntimePlatform(RuntimePlatformT&& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = std::forward<RuntimePlatformT>(value); }
411 template<typename RuntimePlatformT = RuntimePlatform>
412 RegisterTaskDefinitionRequest& WithRuntimePlatform(RuntimePlatformT&& value) { SetRuntimePlatform(std::forward<RuntimePlatformT>(value)); return *this;}
414
416
421 inline bool GetEnableFaultInjection() const { return m_enableFaultInjection; }
422 inline bool EnableFaultInjectionHasBeenSet() const { return m_enableFaultInjectionHasBeenSet; }
423 inline void SetEnableFaultInjection(bool value) { m_enableFaultInjectionHasBeenSet = true; m_enableFaultInjection = value; }
426 private:
427
428 Aws::String m_family;
429 bool m_familyHasBeenSet = false;
430
431 Aws::String m_taskRoleArn;
432 bool m_taskRoleArnHasBeenSet = false;
433
434 Aws::String m_executionRoleArn;
435 bool m_executionRoleArnHasBeenSet = false;
436
437 NetworkMode m_networkMode{NetworkMode::NOT_SET};
438 bool m_networkModeHasBeenSet = false;
439
440 Aws::Vector<ContainerDefinition> m_containerDefinitions;
441 bool m_containerDefinitionsHasBeenSet = false;
442
443 Aws::Vector<Volume> m_volumes;
444 bool m_volumesHasBeenSet = false;
445
447 bool m_placementConstraintsHasBeenSet = false;
448
449 Aws::Vector<Compatibility> m_requiresCompatibilities;
450 bool m_requiresCompatibilitiesHasBeenSet = false;
451
452 Aws::String m_cpu;
453 bool m_cpuHasBeenSet = false;
454
455 Aws::String m_memory;
456 bool m_memoryHasBeenSet = false;
457
458 Aws::Vector<Tag> m_tags;
459 bool m_tagsHasBeenSet = false;
460
461 PidMode m_pidMode{PidMode::NOT_SET};
462 bool m_pidModeHasBeenSet = false;
463
464 IpcMode m_ipcMode{IpcMode::NOT_SET};
465 bool m_ipcModeHasBeenSet = false;
466
467 ProxyConfiguration m_proxyConfiguration;
468 bool m_proxyConfigurationHasBeenSet = false;
469
470 Aws::Vector<InferenceAccelerator> m_inferenceAccelerators;
471 bool m_inferenceAcceleratorsHasBeenSet = false;
472
473 EphemeralStorage m_ephemeralStorage;
474 bool m_ephemeralStorageHasBeenSet = false;
475
476 RuntimePlatform m_runtimePlatform;
477 bool m_runtimePlatformHasBeenSet = false;
478
479 bool m_enableFaultInjection{false};
480 bool m_enableFaultInjectionHasBeenSet = false;
481 };
482
483} // namespace Model
484} // namespace ECS
485} // namespace Aws
virtual const char * GetServiceRequestName() const override
AWS_ECS_API Aws::String SerializePayload() const override
const Aws::Vector< ContainerDefinition > & GetContainerDefinitions() const
RegisterTaskDefinitionRequest & WithProxyConfiguration(ProxyConfigurationT &&value)
RegisterTaskDefinitionRequest & WithEnableFaultInjection(bool value)
RegisterTaskDefinitionRequest & WithRequiresCompatibilities(RequiresCompatibilitiesT &&value)
RegisterTaskDefinitionRequest & WithRuntimePlatform(RuntimePlatformT &&value)
RegisterTaskDefinitionRequest & WithPidMode(PidMode value)
RegisterTaskDefinitionRequest & WithEphemeralStorage(EphemeralStorageT &&value)
RegisterTaskDefinitionRequest & WithVolumes(VolumesT &&value)
RegisterTaskDefinitionRequest & WithTags(TagsT &&value)
RegisterTaskDefinitionRequest & WithExecutionRoleArn(ExecutionRoleArnT &&value)
RegisterTaskDefinitionRequest & WithPlacementConstraints(PlacementConstraintsT &&value)
RegisterTaskDefinitionRequest & WithCpu(CpuT &&value)
RegisterTaskDefinitionRequest & WithContainerDefinitions(ContainerDefinitionsT &&value)
RegisterTaskDefinitionRequest & AddVolumes(VolumesT &&value)
AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
RegisterTaskDefinitionRequest & AddRequiresCompatibilities(Compatibility value)
const Aws::Vector< Compatibility > & GetRequiresCompatibilities() const
RegisterTaskDefinitionRequest & WithTaskRoleArn(TaskRoleArnT &&value)
RegisterTaskDefinitionRequest & AddInferenceAccelerators(InferenceAcceleratorsT &&value)
const Aws::Vector< InferenceAccelerator > & GetInferenceAccelerators() const
RegisterTaskDefinitionRequest & WithMemory(MemoryT &&value)
RegisterTaskDefinitionRequest & WithNetworkMode(NetworkMode value)
RegisterTaskDefinitionRequest & AddPlacementConstraints(PlacementConstraintsT &&value)
const Aws::Vector< TaskDefinitionPlacementConstraint > & GetPlacementConstraints() const
RegisterTaskDefinitionRequest & AddContainerDefinitions(ContainerDefinitionsT &&value)
RegisterTaskDefinitionRequest & AddTags(TagsT &&value)
RegisterTaskDefinitionRequest & WithFamily(FamilyT &&value)
RegisterTaskDefinitionRequest & WithInferenceAccelerators(InferenceAcceleratorsT &&value)
RegisterTaskDefinitionRequest & WithIpcMode(IpcMode value)
void SetInferenceAccelerators(InferenceAcceleratorsT &&value)
void SetRequiresCompatibilities(RequiresCompatibilitiesT &&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