7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/batch/model/LinuxParameters.h>
11#include <aws/batch/model/LogConfiguration.h>
12#include <aws/batch/model/NetworkConfiguration.h>
13#include <aws/batch/model/FargatePlatformConfiguration.h>
14#include <aws/batch/model/EphemeralStorage.h>
15#include <aws/batch/model/RuntimePlatform.h>
16#include <aws/batch/model/RepositoryCredentials.h>
17#include <aws/batch/model/Volume.h>
18#include <aws/batch/model/KeyValuePair.h>
19#include <aws/batch/model/MountPoint.h>
20#include <aws/batch/model/Ulimit.h>
21#include <aws/batch/model/NetworkInterface.h>
22#include <aws/batch/model/ResourceRequirement.h>
23#include <aws/batch/model/Secret.h>
62 template<
typename ImageT = Aws::String>
63 void SetImage(ImageT&& value) { m_imageHasBeenSet =
true; m_image = std::forward<ImageT>(value); }
64 template<
typename ImageT = Aws::String>
87 inline int GetVcpus()
const {
return m_vcpus; }
89 inline void SetVcpus(
int value) { m_vcpusHasBeenSet =
true; m_vcpus = value; }
102 inline void SetMemory(
int value) { m_memoryHasBeenSet =
true; m_memory = value; }
112 template<
typename CommandT = Aws::Vector<Aws::String>>
113 void SetCommand(CommandT&& value) { m_commandHasBeenSet =
true; m_command = std::forward<CommandT>(value); }
114 template<
typename CommandT = Aws::Vector<Aws::String>>
116 template<
typename CommandT = Aws::String>
117 ContainerDetail&
AddCommand(CommandT&& value) { m_commandHasBeenSet =
true; m_command.emplace_back(std::forward<CommandT>(value));
return *
this; }
126 template<
typename JobRoleArnT = Aws::String>
127 void SetJobRoleArn(JobRoleArnT&& value) { m_jobRoleArnHasBeenSet =
true; m_jobRoleArn = std::forward<JobRoleArnT>(value); }
128 template<
typename JobRoleArnT = Aws::String>
141 template<
typename ExecutionRoleArnT = Aws::String>
142 void SetExecutionRoleArn(ExecutionRoleArnT&& value) { m_executionRoleArnHasBeenSet =
true; m_executionRoleArn = std::forward<ExecutionRoleArnT>(value); }
143 template<
typename ExecutionRoleArnT = Aws::String>
153 template<
typename VolumesT = Aws::Vector<Volume>>
154 void SetVolumes(VolumesT&& value) { m_volumesHasBeenSet =
true; m_volumes = std::forward<VolumesT>(value); }
155 template<
typename VolumesT = Aws::Vector<Volume>>
157 template<
typename VolumesT = Volume>
158 ContainerDetail&
AddVolumes(VolumesT&& value) { m_volumesHasBeenSet =
true; m_volumes.emplace_back(std::forward<VolumesT>(value));
return *
this; }
169 template<
typename EnvironmentT = Aws::Vector<KeyValuePair>>
170 void SetEnvironment(EnvironmentT&& value) { m_environmentHasBeenSet =
true; m_environment = std::forward<EnvironmentT>(value); }
171 template<
typename EnvironmentT = Aws::Vector<KeyValuePair>>
173 template<
typename EnvironmentT = KeyValuePair>
174 ContainerDetail&
AddEnvironment(EnvironmentT&& value) { m_environmentHasBeenSet =
true; m_environment.emplace_back(std::forward<EnvironmentT>(value));
return *
this; }
183 template<
typename MountPo
intsT = Aws::Vector<MountPo
int>>
184 void SetMountPoints(MountPointsT&& value) { m_mountPointsHasBeenSet =
true; m_mountPoints = std::forward<MountPointsT>(value); }
185 template<
typename MountPo
intsT = Aws::Vector<MountPo
int>>
187 template<
typename MountPo
intsT = MountPo
int>
188 ContainerDetail&
AddMountPoints(MountPointsT&& value) { m_mountPointsHasBeenSet =
true; m_mountPoints.emplace_back(std::forward<MountPointsT>(value));
return *
this; }
222 template<
typename UlimitsT = Aws::Vector<Ulimit>>
223 void SetUlimits(UlimitsT&& value) { m_ulimitsHasBeenSet =
true; m_ulimits = std::forward<UlimitsT>(value); }
224 template<
typename UlimitsT = Aws::Vector<Ulimit>>
226 template<
typename UlimitsT = Ulimit>
227 ContainerDetail&
AddUlimits(UlimitsT&& value) { m_ulimitsHasBeenSet =
true; m_ulimits.emplace_back(std::forward<UlimitsT>(value));
return *
this; }
240 inline void SetPrivileged(
bool value) { m_privilegedHasBeenSet =
true; m_privileged = value; }
256 template<
typename UserT = Aws::String>
257 void SetUser(UserT&& value) { m_userHasBeenSet =
true; m_user = std::forward<UserT>(value); }
258 template<
typename UserT = Aws::String>
268 inline void SetExitCode(
int value) { m_exitCodeHasBeenSet =
true; m_exitCode = value; }
279 template<
typename ReasonT = Aws::String>
280 void SetReason(ReasonT&& value) { m_reasonHasBeenSet =
true; m_reason = std::forward<ReasonT>(value); }
281 template<
typename ReasonT = Aws::String>
292 template<
typename ContainerInstanceArnT = Aws::String>
293 void SetContainerInstanceArn(ContainerInstanceArnT&& value) { m_containerInstanceArnHasBeenSet =
true; m_containerInstanceArn = std::forward<ContainerInstanceArnT>(value); }
294 template<
typename ContainerInstanceArnT = Aws::String>
306 template<
typename TaskArnT = Aws::String>
307 void SetTaskArn(TaskArnT&& value) { m_taskArnHasBeenSet =
true; m_taskArn = std::forward<TaskArnT>(value); }
308 template<
typename TaskArnT = Aws::String>
321 template<
typename LogStreamNameT = Aws::String>
322 void SetLogStreamName(LogStreamNameT&& value) { m_logStreamNameHasBeenSet =
true; m_logStreamName = std::forward<LogStreamNameT>(value); }
323 template<
typename LogStreamNameT = Aws::String>
335 template<
typename InstanceTypeT = Aws::String>
336 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
337 template<
typename InstanceTypeT = Aws::String>
347 template<
typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
348 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet =
true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
349 template<
typename NetworkInterfacesT = Aws::Vector<NetworkInterface>>
351 template<
typename NetworkInterfacesT = NetworkInterface>
352 ContainerDetail&
AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet =
true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
return *
this; }
363 template<
typename ResourceRequirementsT = Aws::Vector<ResourceRequirement>>
364 void SetResourceRequirements(ResourceRequirementsT&& value) { m_resourceRequirementsHasBeenSet =
true; m_resourceRequirements = std::forward<ResourceRequirementsT>(value); }
365 template<
typename ResourceRequirementsT = Aws::Vector<ResourceRequirement>>
367 template<
typename ResourceRequirementsT = ResourceRequirement>
368 ContainerDetail&
AddResourceRequirements(ResourceRequirementsT&& value) { m_resourceRequirementsHasBeenSet =
true; m_resourceRequirements.emplace_back(std::forward<ResourceRequirementsT>(value));
return *
this; }
378 template<
typename LinuxParametersT = LinuxParameters>
379 void SetLinuxParameters(LinuxParametersT&& value) { m_linuxParametersHasBeenSet =
true; m_linuxParameters = std::forward<LinuxParametersT>(value); }
380 template<
typename LinuxParametersT = LinuxParameters>
420 template<
typename LogConfigurationT = LogConfiguration>
421 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet =
true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
422 template<
typename LogConfigurationT = LogConfiguration>
434 template<
typename SecretsT = Aws::Vector<Secret>>
435 void SetSecrets(SecretsT&& value) { m_secretsHasBeenSet =
true; m_secrets = std::forward<SecretsT>(value); }
436 template<
typename SecretsT = Aws::Vector<Secret>>
438 template<
typename SecretsT = Secret>
439 ContainerDetail&
AddSecrets(SecretsT&& value) { m_secretsHasBeenSet =
true; m_secrets.emplace_back(std::forward<SecretsT>(value));
return *
this; }
450 template<
typename NetworkConfigurationT = NetworkConfiguration>
451 void SetNetworkConfiguration(NetworkConfigurationT&& value) { m_networkConfigurationHasBeenSet =
true; m_networkConfiguration = std::forward<NetworkConfigurationT>(value); }
452 template<
typename NetworkConfigurationT = NetworkConfiguration>
464 template<
typename FargatePlatformConfigurationT = FargatePlatformConfiguration>
465 void SetFargatePlatformConfiguration(FargatePlatformConfigurationT&& value) { m_fargatePlatformConfigurationHasBeenSet =
true; m_fargatePlatformConfiguration = std::forward<FargatePlatformConfigurationT>(value); }
466 template<
typename FargatePlatformConfigurationT = FargatePlatformConfiguration>
478 template<
typename EphemeralStorageT = EphemeralStorage>
479 void SetEphemeralStorage(EphemeralStorageT&& value) { m_ephemeralStorageHasBeenSet =
true; m_ephemeralStorage = std::forward<EphemeralStorageT>(value); }
480 template<
typename EphemeralStorageT = EphemeralStorage>
491 template<
typename RuntimePlatformT = RuntimePlatform>
492 void SetRuntimePlatform(RuntimePlatformT&& value) { m_runtimePlatformHasBeenSet =
true; m_runtimePlatform = std::forward<RuntimePlatformT>(value); }
493 template<
typename RuntimePlatformT = RuntimePlatform>
503 template<
typename RepositoryCredentialsT = RepositoryCredentials>
504 void SetRepositoryCredentials(RepositoryCredentialsT&& value) { m_repositoryCredentialsHasBeenSet =
true; m_repositoryCredentials = std::forward<RepositoryCredentialsT>(value); }
505 template<
typename RepositoryCredentialsT = RepositoryCredentials>
523 bool m_imageHasBeenSet =
false;
526 bool m_vcpusHasBeenSet =
false;
529 bool m_memoryHasBeenSet =
false;
532 bool m_commandHasBeenSet =
false;
535 bool m_jobRoleArnHasBeenSet =
false;
538 bool m_executionRoleArnHasBeenSet =
false;
541 bool m_volumesHasBeenSet =
false;
544 bool m_environmentHasBeenSet =
false;
547 bool m_mountPointsHasBeenSet =
false;
549 bool m_readonlyRootFilesystem{
false};
550 bool m_readonlyRootFilesystemHasBeenSet =
false;
553 bool m_ulimitsHasBeenSet =
false;
555 bool m_privileged{
false};
556 bool m_privilegedHasBeenSet =
false;
559 bool m_userHasBeenSet =
false;
562 bool m_exitCodeHasBeenSet =
false;
565 bool m_reasonHasBeenSet =
false;
568 bool m_containerInstanceArnHasBeenSet =
false;
571 bool m_taskArnHasBeenSet =
false;
574 bool m_logStreamNameHasBeenSet =
false;
577 bool m_instanceTypeHasBeenSet =
false;
580 bool m_networkInterfacesHasBeenSet =
false;
583 bool m_resourceRequirementsHasBeenSet =
false;
585 LinuxParameters m_linuxParameters;
586 bool m_linuxParametersHasBeenSet =
false;
588 LogConfiguration m_logConfiguration;
589 bool m_logConfigurationHasBeenSet =
false;
592 bool m_secretsHasBeenSet =
false;
594 NetworkConfiguration m_networkConfiguration;
595 bool m_networkConfigurationHasBeenSet =
false;
597 FargatePlatformConfiguration m_fargatePlatformConfiguration;
598 bool m_fargatePlatformConfigurationHasBeenSet =
false;
600 EphemeralStorage m_ephemeralStorage;
601 bool m_ephemeralStorageHasBeenSet =
false;
603 RuntimePlatform m_runtimePlatform;
604 bool m_runtimePlatformHasBeenSet =
false;
606 RepositoryCredentials m_repositoryCredentials;
607 bool m_repositoryCredentialsHasBeenSet =
false;
609 bool m_enableExecuteCommand{
false};
610 bool m_enableExecuteCommandHasBeenSet =
false;
const Aws::String & GetContainerInstanceArn() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
bool ReasonHasBeenSet() const
void SetContainerInstanceArn(ContainerInstanceArnT &&value)
void SetMountPoints(MountPointsT &&value)
bool GetEnableExecuteCommand() const
void SetJobRoleArn(JobRoleArnT &&value)
AWS_BATCH_API ContainerDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
ContainerDetail & AddResourceRequirements(ResourceRequirementsT &&value)
void SetPrivileged(bool value)
void SetLogConfiguration(LogConfigurationT &&value)
bool VolumesHasBeenSet() const
const Aws::String & GetImage() const
void SetRepositoryCredentials(RepositoryCredentialsT &&value)
void SetRuntimePlatform(RuntimePlatformT &&value)
ContainerDetail & AddUlimits(UlimitsT &&value)
void SetVolumes(VolumesT &&value)
bool GetPrivileged() const
bool ReadonlyRootFilesystemHasBeenSet() const
const Aws::String & GetExecutionRoleArn() const
ContainerDetail & WithEnvironment(EnvironmentT &&value)
bool CommandHasBeenSet() const
bool LogConfigurationHasBeenSet() const
bool PrivilegedHasBeenSet() const
bool UlimitsHasBeenSet() const
const Aws::Vector< NetworkInterface > & GetNetworkInterfaces() const
void SetLinuxParameters(LinuxParametersT &&value)
void SetTaskArn(TaskArnT &&value)
void SetLogStreamName(LogStreamNameT &&value)
ContainerDetail & WithResourceRequirements(ResourceRequirementsT &&value)
bool MountPointsHasBeenSet() const
bool ExitCodeHasBeenSet() const
const Aws::String & GetJobRoleArn() const
void SetEphemeralStorage(EphemeralStorageT &&value)
ContainerDetail & WithMemory(int value)
bool FargatePlatformConfigurationHasBeenSet() const
ContainerDetail & WithImage(ImageT &&value)
const Aws::String & GetReason() const
const Aws::Vector< Ulimit > & GetUlimits() const
bool InstanceTypeHasBeenSet() const
ContainerDetail & AddMountPoints(MountPointsT &&value)
const Aws::String & GetTaskArn() const
const Aws::String & GetUser() const
const RepositoryCredentials & GetRepositoryCredentials() const
ContainerDetail & WithLinuxParameters(LinuxParametersT &&value)
ContainerDetail & WithLogStreamName(LogStreamNameT &&value)
bool VcpusHasBeenSet() const
ContainerDetail & WithInstanceType(InstanceTypeT &&value)
ContainerDetail & WithCommand(CommandT &&value)
bool ContainerInstanceArnHasBeenSet() const
ContainerDetail & WithReason(ReasonT &&value)
bool NetworkInterfacesHasBeenSet() const
ContainerDetail & WithRuntimePlatform(RuntimePlatformT &&value)
bool JobRoleArnHasBeenSet() const
const LinuxParameters & GetLinuxParameters() const
void SetInstanceType(InstanceTypeT &&value)
const Aws::Vector< Secret > & GetSecrets() const
ContainerDetail & WithRepositoryCredentials(RepositoryCredentialsT &&value)
bool ResourceRequirementsHasBeenSet() const
ContainerDetail & WithTaskArn(TaskArnT &&value)
void SetImage(ImageT &&value)
ContainerDetail & WithLogConfiguration(LogConfigurationT &&value)
bool EphemeralStorageHasBeenSet() const
ContainerDetail & WithUser(UserT &&value)
void SetExitCode(int value)
const Aws::String & GetInstanceType() const
ContainerDetail & WithJobRoleArn(JobRoleArnT &&value)
void SetFargatePlatformConfiguration(FargatePlatformConfigurationT &&value)
const LogConfiguration & GetLogConfiguration() const
const Aws::Vector< MountPoint > & GetMountPoints() const
bool LogStreamNameHasBeenSet() const
void SetSecrets(SecretsT &&value)
bool TaskArnHasBeenSet() const
bool LinuxParametersHasBeenSet() const
ContainerDetail & AddEnvironment(EnvironmentT &&value)
bool EnvironmentHasBeenSet() const
bool RuntimePlatformHasBeenSet() const
void SetReason(ReasonT &&value)
void SetUser(UserT &&value)
void SetEnableExecuteCommand(bool value)
AWS_BATCH_API ContainerDetail(Aws::Utils::Json::JsonView jsonValue)
ContainerDetail & WithEphemeralStorage(EphemeralStorageT &&value)
ContainerDetail & WithReadonlyRootFilesystem(bool value)
ContainerDetail & WithFargatePlatformConfiguration(FargatePlatformConfigurationT &&value)
ContainerDetail & AddSecrets(SecretsT &&value)
ContainerDetail & WithNetworkInterfaces(NetworkInterfacesT &&value)
void SetMemory(int value)
ContainerDetail & WithVolumes(VolumesT &&value)
bool GetReadonlyRootFilesystem() const
ContainerDetail & WithNetworkConfiguration(NetworkConfigurationT &&value)
void SetReadonlyRootFilesystem(bool value)
void SetUlimits(UlimitsT &&value)
AWS_BATCH_API ContainerDetail()=default
const NetworkConfiguration & GetNetworkConfiguration() const
ContainerDetail & WithContainerInstanceArn(ContainerInstanceArnT &&value)
ContainerDetail & WithExecutionRoleArn(ExecutionRoleArnT &&value)
const Aws::String & GetLogStreamName() const
const Aws::Vector< ResourceRequirement > & GetResourceRequirements() const
const Aws::Vector< Aws::String > & GetCommand() const
ContainerDetail & WithVcpus(int value)
bool EnableExecuteCommandHasBeenSet() const
ContainerDetail & WithPrivileged(bool value)
const Aws::Vector< KeyValuePair > & GetEnvironment() const
void SetCommand(CommandT &&value)
void SetEnvironment(EnvironmentT &&value)
bool ImageHasBeenSet() const
ContainerDetail & WithExitCode(int value)
ContainerDetail & WithUlimits(UlimitsT &&value)
const RuntimePlatform & GetRuntimePlatform() const
void SetExecutionRoleArn(ExecutionRoleArnT &&value)
const EphemeralStorage & GetEphemeralStorage() const
bool UserHasBeenSet() const
ContainerDetail & WithSecrets(SecretsT &&value)
ContainerDetail & AddCommand(CommandT &&value)
bool NetworkConfigurationHasBeenSet() const
const FargatePlatformConfiguration & GetFargatePlatformConfiguration() const
bool RepositoryCredentialsHasBeenSet() const
bool ExecutionRoleArnHasBeenSet() const
ContainerDetail & AddNetworkInterfaces(NetworkInterfacesT &&value)
ContainerDetail & WithMountPoints(MountPointsT &&value)
ContainerDetail & WithEnableExecuteCommand(bool value)
void SetResourceRequirements(ResourceRequirementsT &&value)
void SetNetworkInterfaces(NetworkInterfacesT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
bool SecretsHasBeenSet() const
ContainerDetail & AddVolumes(VolumesT &&value)
const Aws::Vector< Volume > & GetVolumes() const
bool MemoryHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue