/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

A container definition that describes a container in the task.

See * Also:

AWS * API Reference

*/ class AwsEcsTaskDefinitionContainerDefinitionsDetails { public: AWS_SECURITYHUB_API AwsEcsTaskDefinitionContainerDefinitionsDetails(); AWS_SECURITYHUB_API AwsEcsTaskDefinitionContainerDefinitionsDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsEcsTaskDefinitionContainerDefinitionsDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The command that is passed to the container.

*/ inline const Aws::Vector& GetCommand() const{ return m_command; } /** *

The command that is passed to the container.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

The command that is passed to the container.

*/ inline void SetCommand(const Aws::Vector& value) { m_commandHasBeenSet = true; m_command = value; } /** *

The command that is passed to the container.

*/ inline void SetCommand(Aws::Vector&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

The command that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithCommand(const Aws::Vector& value) { SetCommand(value); return *this;} /** *

The command that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithCommand(Aws::Vector&& value) { SetCommand(std::move(value)); return *this;} /** *

The command that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

The command that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; } /** *

The command that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

The number of CPU units reserved for the container.

*/ inline int GetCpu() const{ return m_cpu; } /** *

The number of CPU units reserved for the container.

*/ inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; } /** *

The number of CPU units reserved for the container.

*/ inline void SetCpu(int value) { m_cpuHasBeenSet = true; m_cpu = value; } /** *

The number of CPU units reserved for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithCpu(int value) { SetCpu(value); return *this;} /** *

The dependencies that are defined for container startup and shutdown.

*/ inline const Aws::Vector& GetDependsOn() const{ return m_dependsOn; } /** *

The dependencies that are defined for container startup and shutdown.

*/ inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; } /** *

The dependencies that are defined for container startup and shutdown.

*/ inline void SetDependsOn(const Aws::Vector& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; } /** *

The dependencies that are defined for container startup and shutdown.

*/ inline void SetDependsOn(Aws::Vector&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); } /** *

The dependencies that are defined for container startup and shutdown.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDependsOn(const Aws::Vector& value) { SetDependsOn(value); return *this;} /** *

The dependencies that are defined for container startup and shutdown.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDependsOn(Aws::Vector&& value) { SetDependsOn(std::move(value)); return *this;} /** *

The dependencies that are defined for container startup and shutdown.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDependsOn(const AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; } /** *

The dependencies that are defined for container startup and shutdown.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDependsOn(AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; } /** *

Whether to disable networking within the container.

*/ inline bool GetDisableNetworking() const{ return m_disableNetworking; } /** *

Whether to disable networking within the container.

*/ inline bool DisableNetworkingHasBeenSet() const { return m_disableNetworkingHasBeenSet; } /** *

Whether to disable networking within the container.

*/ inline void SetDisableNetworking(bool value) { m_disableNetworkingHasBeenSet = true; m_disableNetworking = value; } /** *

Whether to disable networking within the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDisableNetworking(bool value) { SetDisableNetworking(value); return *this;} /** *

A list of DNS search domains that are presented to the container.

*/ inline const Aws::Vector& GetDnsSearchDomains() const{ return m_dnsSearchDomains; } /** *

A list of DNS search domains that are presented to the container.

*/ inline bool DnsSearchDomainsHasBeenSet() const { return m_dnsSearchDomainsHasBeenSet; } /** *

A list of DNS search domains that are presented to the container.

*/ inline void SetDnsSearchDomains(const Aws::Vector& value) { m_dnsSearchDomainsHasBeenSet = true; m_dnsSearchDomains = value; } /** *

A list of DNS search domains that are presented to the container.

*/ inline void SetDnsSearchDomains(Aws::Vector&& value) { m_dnsSearchDomainsHasBeenSet = true; m_dnsSearchDomains = std::move(value); } /** *

A list of DNS search domains that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDnsSearchDomains(const Aws::Vector& value) { SetDnsSearchDomains(value); return *this;} /** *

A list of DNS search domains that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDnsSearchDomains(Aws::Vector&& value) { SetDnsSearchDomains(std::move(value)); return *this;} /** *

A list of DNS search domains that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsSearchDomains(const Aws::String& value) { m_dnsSearchDomainsHasBeenSet = true; m_dnsSearchDomains.push_back(value); return *this; } /** *

A list of DNS search domains that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsSearchDomains(Aws::String&& value) { m_dnsSearchDomainsHasBeenSet = true; m_dnsSearchDomains.push_back(std::move(value)); return *this; } /** *

A list of DNS search domains that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsSearchDomains(const char* value) { m_dnsSearchDomainsHasBeenSet = true; m_dnsSearchDomains.push_back(value); return *this; } /** *

A list of DNS servers that are presented to the container.

*/ inline const Aws::Vector& GetDnsServers() const{ return m_dnsServers; } /** *

A list of DNS servers that are presented to the container.

*/ inline bool DnsServersHasBeenSet() const { return m_dnsServersHasBeenSet; } /** *

A list of DNS servers that are presented to the container.

*/ inline void SetDnsServers(const Aws::Vector& value) { m_dnsServersHasBeenSet = true; m_dnsServers = value; } /** *

A list of DNS servers that are presented to the container.

*/ inline void SetDnsServers(Aws::Vector&& value) { m_dnsServersHasBeenSet = true; m_dnsServers = std::move(value); } /** *

A list of DNS servers that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDnsServers(const Aws::Vector& value) { SetDnsServers(value); return *this;} /** *

A list of DNS servers that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDnsServers(Aws::Vector&& value) { SetDnsServers(std::move(value)); return *this;} /** *

A list of DNS servers that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsServers(const Aws::String& value) { m_dnsServersHasBeenSet = true; m_dnsServers.push_back(value); return *this; } /** *

A list of DNS servers that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsServers(Aws::String&& value) { m_dnsServersHasBeenSet = true; m_dnsServers.push_back(std::move(value)); return *this; } /** *

A list of DNS servers that are presented to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDnsServers(const char* value) { m_dnsServersHasBeenSet = true; m_dnsServers.push_back(value); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline const Aws::Map& GetDockerLabels() const{ return m_dockerLabels; } /** *

A key-value map of labels to add to the container.

*/ inline bool DockerLabelsHasBeenSet() const { return m_dockerLabelsHasBeenSet; } /** *

A key-value map of labels to add to the container.

*/ inline void SetDockerLabels(const Aws::Map& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels = value; } /** *

A key-value map of labels to add to the container.

*/ inline void SetDockerLabels(Aws::Map&& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels = std::move(value); } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDockerLabels(const Aws::Map& value) { SetDockerLabels(value); return *this;} /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDockerLabels(Aws::Map&& value) { SetDockerLabels(std::move(value)); return *this;} /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(const Aws::String& key, const Aws::String& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(key, value); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(Aws::String&& key, const Aws::String& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(std::move(key), value); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(const Aws::String& key, Aws::String&& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(key, std::move(value)); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(Aws::String&& key, Aws::String&& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(std::move(key), std::move(value)); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(const char* key, Aws::String&& value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(key, std::move(value)); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(Aws::String&& key, const char* value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(std::move(key), value); return *this; } /** *

A key-value map of labels to add to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerLabels(const char* key, const char* value) { m_dockerLabelsHasBeenSet = true; m_dockerLabels.emplace(key, value); return *this; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline const Aws::Vector& GetDockerSecurityOptions() const{ return m_dockerSecurityOptions; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline bool DockerSecurityOptionsHasBeenSet() const { return m_dockerSecurityOptionsHasBeenSet; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline void SetDockerSecurityOptions(const Aws::Vector& value) { m_dockerSecurityOptionsHasBeenSet = true; m_dockerSecurityOptions = value; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline void SetDockerSecurityOptions(Aws::Vector&& value) { m_dockerSecurityOptionsHasBeenSet = true; m_dockerSecurityOptions = std::move(value); } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDockerSecurityOptions(const Aws::Vector& value) { SetDockerSecurityOptions(value); return *this;} /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithDockerSecurityOptions(Aws::Vector&& value) { SetDockerSecurityOptions(std::move(value)); return *this;} /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerSecurityOptions(const Aws::String& value) { m_dockerSecurityOptionsHasBeenSet = true; m_dockerSecurityOptions.push_back(value); return *this; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerSecurityOptions(Aws::String&& value) { m_dockerSecurityOptionsHasBeenSet = true; m_dockerSecurityOptions.push_back(std::move(value)); return *this; } /** *

A list of strings to provide custom labels for SELinux and AppArmor * multi-level security systems.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddDockerSecurityOptions(const char* value) { m_dockerSecurityOptionsHasBeenSet = true; m_dockerSecurityOptions.push_back(value); return *this; } /** *

The entry point that is passed to the container.

*/ inline const Aws::Vector& GetEntryPoint() const{ return m_entryPoint; } /** *

The entry point that is passed to the container.

*/ inline bool EntryPointHasBeenSet() const { return m_entryPointHasBeenSet; } /** *

The entry point that is passed to the container.

*/ inline void SetEntryPoint(const Aws::Vector& value) { m_entryPointHasBeenSet = true; m_entryPoint = value; } /** *

The entry point that is passed to the container.

*/ inline void SetEntryPoint(Aws::Vector&& value) { m_entryPointHasBeenSet = true; m_entryPoint = std::move(value); } /** *

The entry point that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEntryPoint(const Aws::Vector& value) { SetEntryPoint(value); return *this;} /** *

The entry point that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEntryPoint(Aws::Vector&& value) { SetEntryPoint(std::move(value)); return *this;} /** *

The entry point that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEntryPoint(const Aws::String& value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(value); return *this; } /** *

The entry point that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEntryPoint(Aws::String&& value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(std::move(value)); return *this; } /** *

The entry point that is passed to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEntryPoint(const char* value) { m_entryPointHasBeenSet = true; m_entryPoint.push_back(value); return *this; } /** *

The environment variables to pass to a container.

*/ inline const Aws::Vector& GetEnvironment() const{ return m_environment; } /** *

The environment variables to pass to a container.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

The environment variables to pass to a container.

*/ inline void SetEnvironment(const Aws::Vector& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

The environment variables to pass to a container.

*/ inline void SetEnvironment(Aws::Vector&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

The environment variables to pass to a container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEnvironment(const Aws::Vector& value) { SetEnvironment(value); return *this;} /** *

The environment variables to pass to a container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEnvironment(Aws::Vector&& value) { SetEnvironment(std::move(value)); return *this;} /** *

The environment variables to pass to a container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEnvironment(const AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails& value) { m_environmentHasBeenSet = true; m_environment.push_back(value); return *this; } /** *

The environment variables to pass to a container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEnvironment(AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails&& value) { m_environmentHasBeenSet = true; m_environment.push_back(std::move(value)); return *this; } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline const Aws::Vector& GetEnvironmentFiles() const{ return m_environmentFiles; } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline bool EnvironmentFilesHasBeenSet() const { return m_environmentFilesHasBeenSet; } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline void SetEnvironmentFiles(const Aws::Vector& value) { m_environmentFilesHasBeenSet = true; m_environmentFiles = value; } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline void SetEnvironmentFiles(Aws::Vector&& value) { m_environmentFilesHasBeenSet = true; m_environmentFiles = std::move(value); } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEnvironmentFiles(const Aws::Vector& value) { SetEnvironmentFiles(value); return *this;} /** *

A list of files containing the environment variables to pass to a * container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEnvironmentFiles(Aws::Vector&& value) { SetEnvironmentFiles(std::move(value)); return *this;} /** *

A list of files containing the environment variables to pass to a * container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEnvironmentFiles(const AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails& value) { m_environmentFilesHasBeenSet = true; m_environmentFiles.push_back(value); return *this; } /** *

A list of files containing the environment variables to pass to a * container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddEnvironmentFiles(AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails&& value) { m_environmentFilesHasBeenSet = true; m_environmentFiles.push_back(std::move(value)); return *this; } /** *

Whether the container is essential. All tasks must have at least one * essential container.

*/ inline bool GetEssential() const{ return m_essential; } /** *

Whether the container is essential. All tasks must have at least one * essential container.

*/ inline bool EssentialHasBeenSet() const { return m_essentialHasBeenSet; } /** *

Whether the container is essential. All tasks must have at least one * essential container.

*/ inline void SetEssential(bool value) { m_essentialHasBeenSet = true; m_essential = value; } /** *

Whether the container is essential. All tasks must have at least one * essential container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithEssential(bool value) { SetEssential(value); return *this;} /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline const Aws::Vector& GetExtraHosts() const{ return m_extraHosts; } /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline bool ExtraHostsHasBeenSet() const { return m_extraHostsHasBeenSet; } /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline void SetExtraHosts(const Aws::Vector& value) { m_extraHostsHasBeenSet = true; m_extraHosts = value; } /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline void SetExtraHosts(Aws::Vector&& value) { m_extraHostsHasBeenSet = true; m_extraHosts = std::move(value); } /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithExtraHosts(const Aws::Vector& value) { SetExtraHosts(value); return *this;} /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithExtraHosts(Aws::Vector&& value) { SetExtraHosts(std::move(value)); return *this;} /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddExtraHosts(const AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails& value) { m_extraHostsHasBeenSet = true; m_extraHosts.push_back(value); return *this; } /** *

A list of hostnames and IP address mappings to append to the * /etc/hosts file on the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddExtraHosts(AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails&& value) { m_extraHostsHasBeenSet = true; m_extraHosts.push_back(std::move(value)); return *this; } /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails& GetFirelensConfiguration() const{ return m_firelensConfiguration; } /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline bool FirelensConfigurationHasBeenSet() const { return m_firelensConfigurationHasBeenSet; } /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline void SetFirelensConfiguration(const AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails& value) { m_firelensConfigurationHasBeenSet = true; m_firelensConfiguration = value; } /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline void SetFirelensConfiguration(AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails&& value) { m_firelensConfigurationHasBeenSet = true; m_firelensConfiguration = std::move(value); } /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithFirelensConfiguration(const AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails& value) { SetFirelensConfiguration(value); return *this;} /** *

The FireLens configuration for the container. Specifies and configures a log * router for container logs.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithFirelensConfiguration(AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails&& value) { SetFirelensConfiguration(std::move(value)); return *this;} /** *

The container health check command and associated configuration parameters * for the container.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails& GetHealthCheck() const{ return m_healthCheck; } /** *

The container health check command and associated configuration parameters * for the container.

*/ inline bool HealthCheckHasBeenSet() const { return m_healthCheckHasBeenSet; } /** *

The container health check command and associated configuration parameters * for the container.

*/ inline void SetHealthCheck(const AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails& value) { m_healthCheckHasBeenSet = true; m_healthCheck = value; } /** *

The container health check command and associated configuration parameters * for the container.

*/ inline void SetHealthCheck(AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails&& value) { m_healthCheckHasBeenSet = true; m_healthCheck = std::move(value); } /** *

The container health check command and associated configuration parameters * for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithHealthCheck(const AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails& value) { SetHealthCheck(value); return *this;} /** *

The container health check command and associated configuration parameters * for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithHealthCheck(AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails&& value) { SetHealthCheck(std::move(value)); return *this;} /** *

The hostname to use for the container.

*/ inline const Aws::String& GetHostname() const{ return m_hostname; } /** *

The hostname to use for the container.

*/ inline bool HostnameHasBeenSet() const { return m_hostnameHasBeenSet; } /** *

The hostname to use for the container.

*/ inline void SetHostname(const Aws::String& value) { m_hostnameHasBeenSet = true; m_hostname = value; } /** *

The hostname to use for the container.

*/ inline void SetHostname(Aws::String&& value) { m_hostnameHasBeenSet = true; m_hostname = std::move(value); } /** *

The hostname to use for the container.

*/ inline void SetHostname(const char* value) { m_hostnameHasBeenSet = true; m_hostname.assign(value); } /** *

The hostname to use for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithHostname(const Aws::String& value) { SetHostname(value); return *this;} /** *

The hostname to use for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithHostname(Aws::String&& value) { SetHostname(std::move(value)); return *this;} /** *

The hostname to use for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithHostname(const char* value) { SetHostname(value); return *this;} /** *

The image used to start the container.

*/ inline const Aws::String& GetImage() const{ return m_image; } /** *

The image used to start the container.

*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *

The image used to start the container.

*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *

The image used to start the container.

*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *

The image used to start the container.

*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *

The image used to start the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *

The image used to start the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *

The image used to start the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithImage(const char* value) { SetImage(value); return *this;} /** *

If set to true, then containerized applications can be deployed that require * stdin or a tty to be allocated.

*/ inline bool GetInteractive() const{ return m_interactive; } /** *

If set to true, then containerized applications can be deployed that require * stdin or a tty to be allocated.

*/ inline bool InteractiveHasBeenSet() const { return m_interactiveHasBeenSet; } /** *

If set to true, then containerized applications can be deployed that require * stdin or a tty to be allocated.

*/ inline void SetInteractive(bool value) { m_interactiveHasBeenSet = true; m_interactive = value; } /** *

If set to true, then containerized applications can be deployed that require * stdin or a tty to be allocated.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithInteractive(bool value) { SetInteractive(value); return *this;} /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline const Aws::Vector& GetLinks() const{ return m_links; } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline bool LinksHasBeenSet() const { return m_linksHasBeenSet; } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline void SetLinks(const Aws::Vector& value) { m_linksHasBeenSet = true; m_links = value; } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline void SetLinks(Aws::Vector&& value) { m_linksHasBeenSet = true; m_links = std::move(value); } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLinks(const Aws::Vector& value) { SetLinks(value); return *this;} /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLinks(Aws::Vector&& value) { SetLinks(std::move(value)); return *this;} /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddLinks(const Aws::String& value) { m_linksHasBeenSet = true; m_links.push_back(value); return *this; } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddLinks(Aws::String&& value) { m_linksHasBeenSet = true; m_links.push_back(std::move(value)); return *this; } /** *

A list of links for the container in the form * container_name:alias . Allows containers to communicate * with each other without the need for port mappings.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddLinks(const char* value) { m_linksHasBeenSet = true; m_links.push_back(value); return *this; } /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& GetLinuxParameters() const{ return m_linuxParameters; } /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline bool LinuxParametersHasBeenSet() const { return m_linuxParametersHasBeenSet; } /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline void SetLinuxParameters(const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = value; } /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline void SetLinuxParameters(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails&& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = std::move(value); } /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLinuxParameters(const AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails& value) { SetLinuxParameters(value); return *this;} /** *

Linux-specific modifications that are applied to the container, such as Linux * kernel capabilities.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLinuxParameters(AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails&& value) { SetLinuxParameters(std::move(value)); return *this;} /** *

The log configuration specification for the container.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& GetLogConfiguration() const{ return m_logConfiguration; } /** *

The log configuration specification for the container.

*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *

The log configuration specification for the container.

*/ inline void SetLogConfiguration(const AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *

The log configuration specification for the container.

*/ inline void SetLogConfiguration(AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *

The log configuration specification for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLogConfiguration(const AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails& value) { SetLogConfiguration(value); return *this;} /** *

The log configuration specification for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithLogConfiguration(AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *

The amount (in MiB) of memory to present to the container. If the container * attempts to exceed the memory specified here, the container is shut down. The * total amount of memory reserved for all containers within a task must be lower * than the task memory value, if one is specified.

*/ inline int GetMemory() const{ return m_memory; } /** *

The amount (in MiB) of memory to present to the container. If the container * attempts to exceed the memory specified here, the container is shut down. The * total amount of memory reserved for all containers within a task must be lower * than the task memory value, if one is specified.

*/ inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; } /** *

The amount (in MiB) of memory to present to the container. If the container * attempts to exceed the memory specified here, the container is shut down. The * total amount of memory reserved for all containers within a task must be lower * than the task memory value, if one is specified.

*/ inline void SetMemory(int value) { m_memoryHasBeenSet = true; m_memory = value; } /** *

The amount (in MiB) of memory to present to the container. If the container * attempts to exceed the memory specified here, the container is shut down. The * total amount of memory reserved for all containers within a task must be lower * than the task memory value, if one is specified.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithMemory(int value) { SetMemory(value); return *this;} /** *

The soft limit (in MiB) of memory to reserve for the container.

*/ inline int GetMemoryReservation() const{ return m_memoryReservation; } /** *

The soft limit (in MiB) of memory to reserve for the container.

*/ inline bool MemoryReservationHasBeenSet() const { return m_memoryReservationHasBeenSet; } /** *

The soft limit (in MiB) of memory to reserve for the container.

*/ inline void SetMemoryReservation(int value) { m_memoryReservationHasBeenSet = true; m_memoryReservation = value; } /** *

The soft limit (in MiB) of memory to reserve for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithMemoryReservation(int value) { SetMemoryReservation(value); return *this;} /** *

The mount points for the data volumes in the container.

*/ inline const Aws::Vector& GetMountPoints() const{ return m_mountPoints; } /** *

The mount points for the data volumes in the container.

*/ inline bool MountPointsHasBeenSet() const { return m_mountPointsHasBeenSet; } /** *

The mount points for the data volumes in the container.

*/ inline void SetMountPoints(const Aws::Vector& value) { m_mountPointsHasBeenSet = true; m_mountPoints = value; } /** *

The mount points for the data volumes in the container.

*/ inline void SetMountPoints(Aws::Vector&& value) { m_mountPointsHasBeenSet = true; m_mountPoints = std::move(value); } /** *

The mount points for the data volumes in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithMountPoints(const Aws::Vector& value) { SetMountPoints(value); return *this;} /** *

The mount points for the data volumes in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithMountPoints(Aws::Vector&& value) { SetMountPoints(std::move(value)); return *this;} /** *

The mount points for the data volumes in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddMountPoints(const AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(value); return *this; } /** *

The mount points for the data volumes in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddMountPoints(AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails&& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(std::move(value)); return *this; } /** *

The name of the container.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the container.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the container.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the container.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the container.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithName(const char* value) { SetName(value); return *this;} /** *

The list of port mappings for the container.

*/ inline const Aws::Vector& GetPortMappings() const{ return m_portMappings; } /** *

The list of port mappings for the container.

*/ inline bool PortMappingsHasBeenSet() const { return m_portMappingsHasBeenSet; } /** *

The list of port mappings for the container.

*/ inline void SetPortMappings(const Aws::Vector& value) { m_portMappingsHasBeenSet = true; m_portMappings = value; } /** *

The list of port mappings for the container.

*/ inline void SetPortMappings(Aws::Vector&& value) { m_portMappingsHasBeenSet = true; m_portMappings = std::move(value); } /** *

The list of port mappings for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithPortMappings(const Aws::Vector& value) { SetPortMappings(value); return *this;} /** *

The list of port mappings for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithPortMappings(Aws::Vector&& value) { SetPortMappings(std::move(value)); return *this;} /** *

The list of port mappings for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddPortMappings(const AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails& value) { m_portMappingsHasBeenSet = true; m_portMappings.push_back(value); return *this; } /** *

The list of port mappings for the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddPortMappings(AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails&& value) { m_portMappingsHasBeenSet = true; m_portMappings.push_back(std::move(value)); return *this; } /** *

Whether the container is given elevated privileges on the host container * instance. The elevated privileges are similar to the root user.

*/ inline bool GetPrivileged() const{ return m_privileged; } /** *

Whether the container is given elevated privileges on the host container * instance. The elevated privileges are similar to the root user.

*/ inline bool PrivilegedHasBeenSet() const { return m_privilegedHasBeenSet; } /** *

Whether the container is given elevated privileges on the host container * instance. The elevated privileges are similar to the root user.

*/ inline void SetPrivileged(bool value) { m_privilegedHasBeenSet = true; m_privileged = value; } /** *

Whether the container is given elevated privileges on the host container * instance. The elevated privileges are similar to the root user.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithPrivileged(bool value) { SetPrivileged(value); return *this;} /** *

Whether to allocate a TTY to the container.

*/ inline bool GetPseudoTerminal() const{ return m_pseudoTerminal; } /** *

Whether to allocate a TTY to the container.

*/ inline bool PseudoTerminalHasBeenSet() const { return m_pseudoTerminalHasBeenSet; } /** *

Whether to allocate a TTY to the container.

*/ inline void SetPseudoTerminal(bool value) { m_pseudoTerminalHasBeenSet = true; m_pseudoTerminal = value; } /** *

Whether to allocate a TTY to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithPseudoTerminal(bool value) { SetPseudoTerminal(value); return *this;} /** *

Whether the container is given read-only access to its root file system.

*/ inline bool GetReadonlyRootFilesystem() const{ return m_readonlyRootFilesystem; } /** *

Whether the container is given read-only access to its root file system.

*/ inline bool ReadonlyRootFilesystemHasBeenSet() const { return m_readonlyRootFilesystemHasBeenSet; } /** *

Whether the container is given read-only access to its root file system.

*/ inline void SetReadonlyRootFilesystem(bool value) { m_readonlyRootFilesystemHasBeenSet = true; m_readonlyRootFilesystem = value; } /** *

Whether the container is given read-only access to its root file system.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithReadonlyRootFilesystem(bool value) { SetReadonlyRootFilesystem(value); return *this;} /** *

The private repository authentication credentials to use.

*/ inline const AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails& GetRepositoryCredentials() const{ return m_repositoryCredentials; } /** *

The private repository authentication credentials to use.

*/ inline bool RepositoryCredentialsHasBeenSet() const { return m_repositoryCredentialsHasBeenSet; } /** *

The private repository authentication credentials to use.

*/ inline void SetRepositoryCredentials(const AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails& value) { m_repositoryCredentialsHasBeenSet = true; m_repositoryCredentials = value; } /** *

The private repository authentication credentials to use.

*/ inline void SetRepositoryCredentials(AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails&& value) { m_repositoryCredentialsHasBeenSet = true; m_repositoryCredentials = std::move(value); } /** *

The private repository authentication credentials to use.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithRepositoryCredentials(const AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails& value) { SetRepositoryCredentials(value); return *this;} /** *

The private repository authentication credentials to use.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithRepositoryCredentials(AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails&& value) { SetRepositoryCredentials(std::move(value)); return *this;} /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline const Aws::Vector& GetResourceRequirements() const{ return m_resourceRequirements; } /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline bool ResourceRequirementsHasBeenSet() const { return m_resourceRequirementsHasBeenSet; } /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline void SetResourceRequirements(const Aws::Vector& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = value; } /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline void SetResourceRequirements(Aws::Vector&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = std::move(value); } /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithResourceRequirements(const Aws::Vector& value) { SetResourceRequirements(value); return *this;} /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithResourceRequirements(Aws::Vector&& value) { SetResourceRequirements(std::move(value)); return *this;} /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddResourceRequirements(const AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(value); return *this; } /** *

The type and amount of a resource to assign to a container. The only * supported resource is a GPU.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddResourceRequirements(AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(std::move(value)); return *this; } /** *

The secrets to pass to the container.

*/ inline const Aws::Vector& GetSecrets() const{ return m_secrets; } /** *

The secrets to pass to the container.

*/ inline bool SecretsHasBeenSet() const { return m_secretsHasBeenSet; } /** *

The secrets to pass to the container.

*/ inline void SetSecrets(const Aws::Vector& value) { m_secretsHasBeenSet = true; m_secrets = value; } /** *

The secrets to pass to the container.

*/ inline void SetSecrets(Aws::Vector&& value) { m_secretsHasBeenSet = true; m_secrets = std::move(value); } /** *

The secrets to pass to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithSecrets(const Aws::Vector& value) { SetSecrets(value); return *this;} /** *

The secrets to pass to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithSecrets(Aws::Vector&& value) { SetSecrets(std::move(value)); return *this;} /** *

The secrets to pass to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddSecrets(const AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails& value) { m_secretsHasBeenSet = true; m_secrets.push_back(value); return *this; } /** *

The secrets to pass to the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddSecrets(AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails&& value) { m_secretsHasBeenSet = true; m_secrets.push_back(std::move(value)); return *this; } /** *

The number of seconds to wait before giving up on resolving dependencies for * a container.

*/ inline int GetStartTimeout() const{ return m_startTimeout; } /** *

The number of seconds to wait before giving up on resolving dependencies for * a container.

*/ inline bool StartTimeoutHasBeenSet() const { return m_startTimeoutHasBeenSet; } /** *

The number of seconds to wait before giving up on resolving dependencies for * a container.

*/ inline void SetStartTimeout(int value) { m_startTimeoutHasBeenSet = true; m_startTimeout = value; } /** *

The number of seconds to wait before giving up on resolving dependencies for * a container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithStartTimeout(int value) { SetStartTimeout(value); return *this;} /** *

The number of seconds to wait before the container is stopped if it doesn't * shut down normally on its own.

*/ inline int GetStopTimeout() const{ return m_stopTimeout; } /** *

The number of seconds to wait before the container is stopped if it doesn't * shut down normally on its own.

*/ inline bool StopTimeoutHasBeenSet() const { return m_stopTimeoutHasBeenSet; } /** *

The number of seconds to wait before the container is stopped if it doesn't * shut down normally on its own.

*/ inline void SetStopTimeout(int value) { m_stopTimeoutHasBeenSet = true; m_stopTimeout = value; } /** *

The number of seconds to wait before the container is stopped if it doesn't * shut down normally on its own.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithStopTimeout(int value) { SetStopTimeout(value); return *this;} /** *

A list of namespaced kernel parameters to set in the container.

*/ inline const Aws::Vector& GetSystemControls() const{ return m_systemControls; } /** *

A list of namespaced kernel parameters to set in the container.

*/ inline bool SystemControlsHasBeenSet() const { return m_systemControlsHasBeenSet; } /** *

A list of namespaced kernel parameters to set in the container.

*/ inline void SetSystemControls(const Aws::Vector& value) { m_systemControlsHasBeenSet = true; m_systemControls = value; } /** *

A list of namespaced kernel parameters to set in the container.

*/ inline void SetSystemControls(Aws::Vector&& value) { m_systemControlsHasBeenSet = true; m_systemControls = std::move(value); } /** *

A list of namespaced kernel parameters to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithSystemControls(const Aws::Vector& value) { SetSystemControls(value); return *this;} /** *

A list of namespaced kernel parameters to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithSystemControls(Aws::Vector&& value) { SetSystemControls(std::move(value)); return *this;} /** *

A list of namespaced kernel parameters to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddSystemControls(const AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails& value) { m_systemControlsHasBeenSet = true; m_systemControls.push_back(value); return *this; } /** *

A list of namespaced kernel parameters to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddSystemControls(AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails&& value) { m_systemControlsHasBeenSet = true; m_systemControls.push_back(std::move(value)); return *this; } /** *

A list of ulimits to set in the container.

*/ inline const Aws::Vector& GetUlimits() const{ return m_ulimits; } /** *

A list of ulimits to set in the container.

*/ inline bool UlimitsHasBeenSet() const { return m_ulimitsHasBeenSet; } /** *

A list of ulimits to set in the container.

*/ inline void SetUlimits(const Aws::Vector& value) { m_ulimitsHasBeenSet = true; m_ulimits = value; } /** *

A list of ulimits to set in the container.

*/ inline void SetUlimits(Aws::Vector&& value) { m_ulimitsHasBeenSet = true; m_ulimits = std::move(value); } /** *

A list of ulimits to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithUlimits(const Aws::Vector& value) { SetUlimits(value); return *this;} /** *

A list of ulimits to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithUlimits(Aws::Vector&& value) { SetUlimits(std::move(value)); return *this;} /** *

A list of ulimits to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddUlimits(const AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(value); return *this; } /** *

A list of ulimits to set in the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddUlimits(AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails&& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(std::move(value)); return *this; } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline const Aws::String& GetUser() const{ return m_user; } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline bool UserHasBeenSet() const { return m_userHasBeenSet; } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline void SetUser(const Aws::String& value) { m_userHasBeenSet = true; m_user = value; } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline void SetUser(Aws::String&& value) { m_userHasBeenSet = true; m_user = std::move(value); } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline void SetUser(const char* value) { m_userHasBeenSet = true; m_user.assign(value); } /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithUser(const Aws::String& value) { SetUser(value); return *this;} /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithUser(Aws::String&& value) { SetUser(std::move(value)); return *this;} /** *

The user to use inside the container.

The value can use one of the * following formats.

  • user

  • *

    user : group

  • * uid

  • uid : * gid

  • user : * gid

  • uid : * group

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithUser(const char* value) { SetUser(value); return *this;} /** *

Data volumes to mount from another container.

*/ inline const Aws::Vector& GetVolumesFrom() const{ return m_volumesFrom; } /** *

Data volumes to mount from another container.

*/ inline bool VolumesFromHasBeenSet() const { return m_volumesFromHasBeenSet; } /** *

Data volumes to mount from another container.

*/ inline void SetVolumesFrom(const Aws::Vector& value) { m_volumesFromHasBeenSet = true; m_volumesFrom = value; } /** *

Data volumes to mount from another container.

*/ inline void SetVolumesFrom(Aws::Vector&& value) { m_volumesFromHasBeenSet = true; m_volumesFrom = std::move(value); } /** *

Data volumes to mount from another container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithVolumesFrom(const Aws::Vector& value) { SetVolumesFrom(value); return *this;} /** *

Data volumes to mount from another container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithVolumesFrom(Aws::Vector&& value) { SetVolumesFrom(std::move(value)); return *this;} /** *

Data volumes to mount from another container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddVolumesFrom(const AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails& value) { m_volumesFromHasBeenSet = true; m_volumesFrom.push_back(value); return *this; } /** *

Data volumes to mount from another container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& AddVolumesFrom(AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails&& value) { m_volumesFromHasBeenSet = true; m_volumesFrom.push_back(std::move(value)); return *this; } /** *

The working directory in which to run commands inside the container.

*/ inline const Aws::String& GetWorkingDirectory() const{ return m_workingDirectory; } /** *

The working directory in which to run commands inside the container.

*/ inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; } /** *

The working directory in which to run commands inside the container.

*/ inline void SetWorkingDirectory(const Aws::String& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = value; } /** *

The working directory in which to run commands inside the container.

*/ inline void SetWorkingDirectory(Aws::String&& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = std::move(value); } /** *

The working directory in which to run commands inside the container.

*/ inline void SetWorkingDirectory(const char* value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory.assign(value); } /** *

The working directory in which to run commands inside the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithWorkingDirectory(const Aws::String& value) { SetWorkingDirectory(value); return *this;} /** *

The working directory in which to run commands inside the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithWorkingDirectory(Aws::String&& value) { SetWorkingDirectory(std::move(value)); return *this;} /** *

The working directory in which to run commands inside the container.

*/ inline AwsEcsTaskDefinitionContainerDefinitionsDetails& WithWorkingDirectory(const char* value) { SetWorkingDirectory(value); return *this;} private: Aws::Vector m_command; bool m_commandHasBeenSet = false; int m_cpu; bool m_cpuHasBeenSet = false; Aws::Vector m_dependsOn; bool m_dependsOnHasBeenSet = false; bool m_disableNetworking; bool m_disableNetworkingHasBeenSet = false; Aws::Vector m_dnsSearchDomains; bool m_dnsSearchDomainsHasBeenSet = false; Aws::Vector m_dnsServers; bool m_dnsServersHasBeenSet = false; Aws::Map m_dockerLabels; bool m_dockerLabelsHasBeenSet = false; Aws::Vector m_dockerSecurityOptions; bool m_dockerSecurityOptionsHasBeenSet = false; Aws::Vector m_entryPoint; bool m_entryPointHasBeenSet = false; Aws::Vector m_environment; bool m_environmentHasBeenSet = false; Aws::Vector m_environmentFiles; bool m_environmentFilesHasBeenSet = false; bool m_essential; bool m_essentialHasBeenSet = false; Aws::Vector m_extraHosts; bool m_extraHostsHasBeenSet = false; AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails m_firelensConfiguration; bool m_firelensConfigurationHasBeenSet = false; AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails m_healthCheck; bool m_healthCheckHasBeenSet = false; Aws::String m_hostname; bool m_hostnameHasBeenSet = false; Aws::String m_image; bool m_imageHasBeenSet = false; bool m_interactive; bool m_interactiveHasBeenSet = false; Aws::Vector m_links; bool m_linksHasBeenSet = false; AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails m_linuxParameters; bool m_linuxParametersHasBeenSet = false; AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails m_logConfiguration; bool m_logConfigurationHasBeenSet = false; int m_memory; bool m_memoryHasBeenSet = false; int m_memoryReservation; bool m_memoryReservationHasBeenSet = false; Aws::Vector m_mountPoints; bool m_mountPointsHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_portMappings; bool m_portMappingsHasBeenSet = false; bool m_privileged; bool m_privilegedHasBeenSet = false; bool m_pseudoTerminal; bool m_pseudoTerminalHasBeenSet = false; bool m_readonlyRootFilesystem; bool m_readonlyRootFilesystemHasBeenSet = false; AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails m_repositoryCredentials; bool m_repositoryCredentialsHasBeenSet = false; Aws::Vector m_resourceRequirements; bool m_resourceRequirementsHasBeenSet = false; Aws::Vector m_secrets; bool m_secretsHasBeenSet = false; int m_startTimeout; bool m_startTimeoutHasBeenSet = false; int m_stopTimeout; bool m_stopTimeoutHasBeenSet = false; Aws::Vector m_systemControls; bool m_systemControlsHasBeenSet = false; Aws::Vector m_ulimits; bool m_ulimitsHasBeenSet = false; Aws::String m_user; bool m_userHasBeenSet = false; Aws::Vector m_volumesFrom; bool m_volumesFromHasBeenSet = false; Aws::String m_workingDirectory; bool m_workingDirectoryHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws