AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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:
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 inline void SetFamily(const Aws::String& value) { m_familyHasBeenSet = true; m_family = value; }
60 inline void SetFamily(Aws::String&& value) { m_familyHasBeenSet = true; m_family = std::move(value); }
61 inline void SetFamily(const char* value) { m_familyHasBeenSet = true; m_family.assign(value); }
62 inline RegisterTaskDefinitionRequest& WithFamily(const Aws::String& value) { SetFamily(value); return *this;}
63 inline RegisterTaskDefinitionRequest& WithFamily(Aws::String&& value) { SetFamily(std::move(value)); return *this;}
64 inline RegisterTaskDefinitionRequest& WithFamily(const char* value) { SetFamily(value); return *this;}
66
68
76 inline const Aws::String& GetTaskRoleArn() const{ return m_taskRoleArn; }
77 inline bool TaskRoleArnHasBeenSet() const { return m_taskRoleArnHasBeenSet; }
78 inline void SetTaskRoleArn(const Aws::String& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = value; }
79 inline void SetTaskRoleArn(Aws::String&& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = std::move(value); }
80 inline void SetTaskRoleArn(const char* value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn.assign(value); }
81 inline RegisterTaskDefinitionRequest& WithTaskRoleArn(const Aws::String& value) { SetTaskRoleArn(value); return *this;}
82 inline RegisterTaskDefinitionRequest& WithTaskRoleArn(Aws::String&& value) { SetTaskRoleArn(std::move(value)); return *this;}
83 inline RegisterTaskDefinitionRequest& WithTaskRoleArn(const char* value) { SetTaskRoleArn(value); return *this;}
85
87
95 inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; }
96 inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; }
97 inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; }
98 inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); }
99 inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); }
101 inline RegisterTaskDefinitionRequest& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;}
102 inline RegisterTaskDefinitionRequest& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;}
104
106
138 inline const NetworkMode& GetNetworkMode() const{ return m_networkMode; }
139 inline bool NetworkModeHasBeenSet() const { return m_networkModeHasBeenSet; }
140 inline void SetNetworkMode(const NetworkMode& value) { m_networkModeHasBeenSet = true; m_networkMode = value; }
141 inline void SetNetworkMode(NetworkMode&& value) { m_networkModeHasBeenSet = true; m_networkMode = std::move(value); }
142 inline RegisterTaskDefinitionRequest& WithNetworkMode(const NetworkMode& value) { SetNetworkMode(value); return *this;}
143 inline RegisterTaskDefinitionRequest& WithNetworkMode(NetworkMode&& value) { SetNetworkMode(std::move(value)); return *this;}
145
147
151 inline const Aws::Vector<ContainerDefinition>& GetContainerDefinitions() const{ return m_containerDefinitions; }
152 inline bool ContainerDefinitionsHasBeenSet() const { return m_containerDefinitionsHasBeenSet; }
153 inline void SetContainerDefinitions(const Aws::Vector<ContainerDefinition>& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions = value; }
154 inline void SetContainerDefinitions(Aws::Vector<ContainerDefinition>&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions = std::move(value); }
157 inline RegisterTaskDefinitionRequest& AddContainerDefinitions(const ContainerDefinition& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(value); return *this; }
158 inline RegisterTaskDefinitionRequest& AddContainerDefinitions(ContainerDefinition&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(std::move(value)); return *this; }
160
162
166 inline const Aws::Vector<Volume>& GetVolumes() const{ return m_volumes; }
167 inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; }
168 inline void SetVolumes(const Aws::Vector<Volume>& value) { m_volumesHasBeenSet = true; m_volumes = value; }
169 inline void SetVolumes(Aws::Vector<Volume>&& value) { m_volumesHasBeenSet = true; m_volumes = std::move(value); }
170 inline RegisterTaskDefinitionRequest& WithVolumes(const Aws::Vector<Volume>& value) { SetVolumes(value); return *this;}
171 inline RegisterTaskDefinitionRequest& WithVolumes(Aws::Vector<Volume>&& value) { SetVolumes(std::move(value)); return *this;}
172 inline RegisterTaskDefinitionRequest& AddVolumes(const Volume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; }
173 inline RegisterTaskDefinitionRequest& AddVolumes(Volume&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; }
175
177
182 inline const Aws::Vector<TaskDefinitionPlacementConstraint>& GetPlacementConstraints() const{ return m_placementConstraints; }
183 inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; }
184 inline void SetPlacementConstraints(const Aws::Vector<TaskDefinitionPlacementConstraint>& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints = value; }
185 inline void SetPlacementConstraints(Aws::Vector<TaskDefinitionPlacementConstraint>&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints = std::move(value); }
188 inline RegisterTaskDefinitionRequest& AddPlacementConstraints(const TaskDefinitionPlacementConstraint& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; }
189 inline RegisterTaskDefinitionRequest& AddPlacementConstraints(TaskDefinitionPlacementConstraint&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; }
191
193
199 inline const Aws::Vector<Compatibility>& GetRequiresCompatibilities() const{ return m_requiresCompatibilities; }
200 inline bool RequiresCompatibilitiesHasBeenSet() const { return m_requiresCompatibilitiesHasBeenSet; }
201 inline void SetRequiresCompatibilities(const Aws::Vector<Compatibility>& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities = value; }
202 inline void SetRequiresCompatibilities(Aws::Vector<Compatibility>&& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities = std::move(value); }
205 inline RegisterTaskDefinitionRequest& AddRequiresCompatibilities(const Compatibility& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(value); return *this; }
206 inline RegisterTaskDefinitionRequest& AddRequiresCompatibilities(Compatibility&& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(std::move(value)); return *this; }
208
210
240 inline const Aws::String& GetCpu() const{ return m_cpu; }
241 inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; }
242 inline void SetCpu(const Aws::String& value) { m_cpuHasBeenSet = true; m_cpu = value; }
243 inline void SetCpu(Aws::String&& value) { m_cpuHasBeenSet = true; m_cpu = std::move(value); }
244 inline void SetCpu(const char* value) { m_cpuHasBeenSet = true; m_cpu.assign(value); }
245 inline RegisterTaskDefinitionRequest& WithCpu(const Aws::String& value) { SetCpu(value); return *this;}
246 inline RegisterTaskDefinitionRequest& WithCpu(Aws::String&& value) { SetCpu(std::move(value)); return *this;}
247 inline RegisterTaskDefinitionRequest& WithCpu(const char* value) { SetCpu(value); return *this;}
249
251
278 inline const Aws::String& GetMemory() const{ return m_memory; }
279 inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
280 inline void SetMemory(const Aws::String& value) { m_memoryHasBeenSet = true; m_memory = value; }
281 inline void SetMemory(Aws::String&& value) { m_memoryHasBeenSet = true; m_memory = std::move(value); }
282 inline void SetMemory(const char* value) { m_memoryHasBeenSet = true; m_memory.assign(value); }
283 inline RegisterTaskDefinitionRequest& WithMemory(const Aws::String& value) { SetMemory(value); return *this;}
284 inline RegisterTaskDefinitionRequest& WithMemory(Aws::String&& value) { SetMemory(std::move(value)); return *this;}
285 inline RegisterTaskDefinitionRequest& WithMemory(const char* value) { SetMemory(value); return *this;}
287
289
307 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
308 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
309 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
310 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
311 inline RegisterTaskDefinitionRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
312 inline RegisterTaskDefinitionRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
313 inline RegisterTaskDefinitionRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
314 inline RegisterTaskDefinitionRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
316
318
341 inline const PidMode& GetPidMode() const{ return m_pidMode; }
342 inline bool PidModeHasBeenSet() const { return m_pidModeHasBeenSet; }
343 inline void SetPidMode(const PidMode& value) { m_pidModeHasBeenSet = true; m_pidMode = value; }
344 inline void SetPidMode(PidMode&& value) { m_pidModeHasBeenSet = true; m_pidMode = std::move(value); }
345 inline RegisterTaskDefinitionRequest& WithPidMode(const PidMode& value) { SetPidMode(value); return *this;}
346 inline RegisterTaskDefinitionRequest& WithPidMode(PidMode&& value) { SetPidMode(std::move(value)); return *this;}
348
350
379 inline const IpcMode& GetIpcMode() const{ return m_ipcMode; }
380 inline bool IpcModeHasBeenSet() const { return m_ipcModeHasBeenSet; }
381 inline void SetIpcMode(const IpcMode& value) { m_ipcModeHasBeenSet = true; m_ipcMode = value; }
382 inline void SetIpcMode(IpcMode&& value) { m_ipcModeHasBeenSet = true; m_ipcMode = std::move(value); }
383 inline RegisterTaskDefinitionRequest& WithIpcMode(const IpcMode& value) { SetIpcMode(value); return *this;}
384 inline RegisterTaskDefinitionRequest& WithIpcMode(IpcMode&& value) { SetIpcMode(std::move(value)); return *this;}
386
388
401 inline const ProxyConfiguration& GetProxyConfiguration() const{ return m_proxyConfiguration; }
402 inline bool ProxyConfigurationHasBeenSet() const { return m_proxyConfigurationHasBeenSet; }
403 inline void SetProxyConfiguration(const ProxyConfiguration& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = value; }
404 inline void SetProxyConfiguration(ProxyConfiguration&& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = std::move(value); }
408
410
413 inline const Aws::Vector<InferenceAccelerator>& GetInferenceAccelerators() const{ return m_inferenceAccelerators; }
414 inline bool InferenceAcceleratorsHasBeenSet() const { return m_inferenceAcceleratorsHasBeenSet; }
415 inline void SetInferenceAccelerators(const Aws::Vector<InferenceAccelerator>& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators = value; }
416 inline void SetInferenceAccelerators(Aws::Vector<InferenceAccelerator>&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators = std::move(value); }
419 inline RegisterTaskDefinitionRequest& AddInferenceAccelerators(const InferenceAccelerator& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(value); return *this; }
420 inline RegisterTaskDefinitionRequest& AddInferenceAccelerators(InferenceAccelerator&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(std::move(value)); return *this; }
422
424
435 inline const EphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; }
436 inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; }
437 inline void SetEphemeralStorage(const EphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; }
438 inline void SetEphemeralStorage(EphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); }
442
444
448 inline const RuntimePlatform& GetRuntimePlatform() const{ return m_runtimePlatform; }
449 inline bool RuntimePlatformHasBeenSet() const { return m_runtimePlatformHasBeenSet; }
450 inline void SetRuntimePlatform(const RuntimePlatform& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = value; }
451 inline void SetRuntimePlatform(RuntimePlatform&& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = std::move(value); }
453 inline RegisterTaskDefinitionRequest& WithRuntimePlatform(RuntimePlatform&& value) { SetRuntimePlatform(std::move(value)); return *this;}
455 private:
456
457 Aws::String m_family;
458 bool m_familyHasBeenSet = false;
459
460 Aws::String m_taskRoleArn;
461 bool m_taskRoleArnHasBeenSet = false;
462
463 Aws::String m_executionRoleArn;
464 bool m_executionRoleArnHasBeenSet = false;
465
466 NetworkMode m_networkMode;
467 bool m_networkModeHasBeenSet = false;
468
469 Aws::Vector<ContainerDefinition> m_containerDefinitions;
470 bool m_containerDefinitionsHasBeenSet = false;
471
472 Aws::Vector<Volume> m_volumes;
473 bool m_volumesHasBeenSet = false;
474
476 bool m_placementConstraintsHasBeenSet = false;
477
478 Aws::Vector<Compatibility> m_requiresCompatibilities;
479 bool m_requiresCompatibilitiesHasBeenSet = false;
480
481 Aws::String m_cpu;
482 bool m_cpuHasBeenSet = false;
483
484 Aws::String m_memory;
485 bool m_memoryHasBeenSet = false;
486
487 Aws::Vector<Tag> m_tags;
488 bool m_tagsHasBeenSet = false;
489
490 PidMode m_pidMode;
491 bool m_pidModeHasBeenSet = false;
492
493 IpcMode m_ipcMode;
494 bool m_ipcModeHasBeenSet = false;
495
496 ProxyConfiguration m_proxyConfiguration;
497 bool m_proxyConfigurationHasBeenSet = false;
498
499 Aws::Vector<InferenceAccelerator> m_inferenceAccelerators;
500 bool m_inferenceAcceleratorsHasBeenSet = false;
501
502 EphemeralStorage m_ephemeralStorage;
503 bool m_ephemeralStorageHasBeenSet = false;
504
505 RuntimePlatform m_runtimePlatform;
506 bool m_runtimePlatformHasBeenSet = false;
507 };
508
509} // namespace Model
510} // namespace ECS
511} // namespace Aws
virtual const char * GetServiceRequestName() const override
RegisterTaskDefinitionRequest & WithPlacementConstraints(const Aws::Vector< TaskDefinitionPlacementConstraint > &value)
RegisterTaskDefinitionRequest & WithMemory(const char *value)
AWS_ECS_API Aws::String SerializePayload() const override
const Aws::Vector< ContainerDefinition > & GetContainerDefinitions() const
void SetRequiresCompatibilities(Aws::Vector< Compatibility > &&value)
RegisterTaskDefinitionRequest & WithTags(Aws::Vector< Tag > &&value)
RegisterTaskDefinitionRequest & WithProxyConfiguration(ProxyConfiguration &&value)
RegisterTaskDefinitionRequest & WithContainerDefinitions(const Aws::Vector< ContainerDefinition > &value)
RegisterTaskDefinitionRequest & WithExecutionRoleArn(const char *value)
void SetInferenceAccelerators(const Aws::Vector< InferenceAccelerator > &value)
RegisterTaskDefinitionRequest & WithInferenceAccelerators(Aws::Vector< InferenceAccelerator > &&value)
RegisterTaskDefinitionRequest & WithVolumes(const Aws::Vector< Volume > &value)
RegisterTaskDefinitionRequest & AddContainerDefinitions(const ContainerDefinition &value)
void SetContainerDefinitions(const Aws::Vector< ContainerDefinition > &value)
RegisterTaskDefinitionRequest & WithEphemeralStorage(EphemeralStorage &&value)
RegisterTaskDefinitionRequest & WithVolumes(Aws::Vector< Volume > &&value)
RegisterTaskDefinitionRequest & WithEphemeralStorage(const EphemeralStorage &value)
RegisterTaskDefinitionRequest & WithFamily(const Aws::String &value)
RegisterTaskDefinitionRequest & WithRuntimePlatform(const RuntimePlatform &value)
RegisterTaskDefinitionRequest & AddInferenceAccelerators(InferenceAccelerator &&value)
RegisterTaskDefinitionRequest & WithPidMode(PidMode &&value)
RegisterTaskDefinitionRequest & WithExecutionRoleArn(Aws::String &&value)
RegisterTaskDefinitionRequest & WithNetworkMode(const NetworkMode &value)
void SetInferenceAccelerators(Aws::Vector< InferenceAccelerator > &&value)
RegisterTaskDefinitionRequest & WithRequiresCompatibilities(Aws::Vector< Compatibility > &&value)
void SetProxyConfiguration(const ProxyConfiguration &value)
void SetContainerDefinitions(Aws::Vector< ContainerDefinition > &&value)
RegisterTaskDefinitionRequest & WithTags(const Aws::Vector< Tag > &value)
RegisterTaskDefinitionRequest & WithCpu(Aws::String &&value)
RegisterTaskDefinitionRequest & WithInferenceAccelerators(const Aws::Vector< InferenceAccelerator > &value)
RegisterTaskDefinitionRequest & AddContainerDefinitions(ContainerDefinition &&value)
AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
RegisterTaskDefinitionRequest & WithNetworkMode(NetworkMode &&value)
RegisterTaskDefinitionRequest & AddInferenceAccelerators(const InferenceAccelerator &value)
RegisterTaskDefinitionRequest & WithExecutionRoleArn(const Aws::String &value)
RegisterTaskDefinitionRequest & AddTags(const Tag &value)
RegisterTaskDefinitionRequest & AddPlacementConstraints(TaskDefinitionPlacementConstraint &&value)
const Aws::Vector< Compatibility > & GetRequiresCompatibilities() const
RegisterTaskDefinitionRequest & WithTaskRoleArn(const char *value)
RegisterTaskDefinitionRequest & WithFamily(const char *value)
RegisterTaskDefinitionRequest & WithIpcMode(const IpcMode &value)
RegisterTaskDefinitionRequest & WithMemory(const Aws::String &value)
RegisterTaskDefinitionRequest & WithProxyConfiguration(const ProxyConfiguration &value)
RegisterTaskDefinitionRequest & WithContainerDefinitions(Aws::Vector< ContainerDefinition > &&value)
RegisterTaskDefinitionRequest & WithIpcMode(IpcMode &&value)
RegisterTaskDefinitionRequest & WithMemory(Aws::String &&value)
void SetPlacementConstraints(Aws::Vector< TaskDefinitionPlacementConstraint > &&value)
const Aws::Vector< InferenceAccelerator > & GetInferenceAccelerators() const
RegisterTaskDefinitionRequest & AddVolumes(const Volume &value)
RegisterTaskDefinitionRequest & WithPidMode(const PidMode &value)
const Aws::Vector< TaskDefinitionPlacementConstraint > & GetPlacementConstraints() const
RegisterTaskDefinitionRequest & WithPlacementConstraints(Aws::Vector< TaskDefinitionPlacementConstraint > &&value)
void SetPlacementConstraints(const Aws::Vector< TaskDefinitionPlacementConstraint > &value)
RegisterTaskDefinitionRequest & WithRuntimePlatform(RuntimePlatform &&value)
void SetVolumes(const Aws::Vector< Volume > &value)
void SetRequiresCompatibilities(const Aws::Vector< Compatibility > &value)
RegisterTaskDefinitionRequest & AddRequiresCompatibilities(Compatibility &&value)
RegisterTaskDefinitionRequest & WithCpu(const char *value)
RegisterTaskDefinitionRequest & WithCpu(const Aws::String &value)
RegisterTaskDefinitionRequest & AddTags(Tag &&value)
RegisterTaskDefinitionRequest & AddRequiresCompatibilities(const Compatibility &value)
RegisterTaskDefinitionRequest & AddVolumes(Volume &&value)
RegisterTaskDefinitionRequest & WithFamily(Aws::String &&value)
RegisterTaskDefinitionRequest & WithTaskRoleArn(Aws::String &&value)
RegisterTaskDefinitionRequest & AddPlacementConstraints(const TaskDefinitionPlacementConstraint &value)
RegisterTaskDefinitionRequest & WithRequiresCompatibilities(const Aws::Vector< Compatibility > &value)
RegisterTaskDefinitionRequest & WithTaskRoleArn(const Aws::String &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