/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Linux-specific modifications that are applied to the container, such as
* details for device mappings.See Also:
AWS
* API Reference
Any of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline const Aws::VectorAny of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline bool DevicesHasBeenSet() const { return m_devicesHasBeenSet; } /** *Any of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline void SetDevices(const Aws::VectorAny of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline void SetDevices(Aws::VectorAny of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline LinuxParameters& WithDevices(const Aws::VectorAny of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline LinuxParameters& WithDevices(Aws::VectorAny of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline LinuxParameters& AddDevices(const Device& value) { m_devicesHasBeenSet = true; m_devices.push_back(value); return *this; } /** *Any of the host devices to expose to the container. This parameter maps to
* Devices
in the Create a
* container section of the Docker Remote API and the
* --device
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline LinuxParameters& AddDevices(Device&& value) { m_devicesHasBeenSet = true; m_devices.push_back(std::move(value)); return *this; } /** *If true, run an init
process inside the container that forwards
* signals and reaps processes. This parameter maps to the --init
* option to docker
* run. This parameter requires version 1.25 of the Docker Remote API or
* greater on your container instance. To check the Docker Remote API version on
* your container instance, log in to your container instance and run the following
* command: sudo docker version | grep "Server API version"
If true, run an init
process inside the container that forwards
* signals and reaps processes. This parameter maps to the --init
* option to docker
* run. This parameter requires version 1.25 of the Docker Remote API or
* greater on your container instance. To check the Docker Remote API version on
* your container instance, log in to your container instance and run the following
* command: sudo docker version | grep "Server API version"
If true, run an init
process inside the container that forwards
* signals and reaps processes. This parameter maps to the --init
* option to docker
* run. This parameter requires version 1.25 of the Docker Remote API or
* greater on your container instance. To check the Docker Remote API version on
* your container instance, log in to your container instance and run the following
* command: sudo docker version | grep "Server API version"
If true, run an init
process inside the container that forwards
* signals and reaps processes. This parameter maps to the --init
* option to docker
* run. This parameter requires version 1.25 of the Docker Remote API or
* greater on your container instance. To check the Docker Remote API version on
* your container instance, log in to your container instance and run the following
* command: sudo docker version | grep "Server API version"
The value for the size (in MiB) of the /dev/shm
volume. This
* parameter maps to the --shm-size
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline int GetSharedMemorySize() const{ return m_sharedMemorySize; } /** *The value for the size (in MiB) of the /dev/shm
volume. This
* parameter maps to the --shm-size
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline bool SharedMemorySizeHasBeenSet() const { return m_sharedMemorySizeHasBeenSet; } /** *The value for the size (in MiB) of the /dev/shm
volume. This
* parameter maps to the --shm-size
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline void SetSharedMemorySize(int value) { m_sharedMemorySizeHasBeenSet = true; m_sharedMemorySize = value; } /** *The value for the size (in MiB) of the /dev/shm
volume. This
* parameter maps to the --shm-size
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide it for these jobs.
*/ inline LinuxParameters& WithSharedMemorySize(int value) { SetSharedMemorySize(value); return *this;} /** *The container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline const Aws::VectorThe container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline bool TmpfsHasBeenSet() const { return m_tmpfsHasBeenSet; } /** *The container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline void SetTmpfs(const Aws::VectorThe container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline void SetTmpfs(Aws::VectorThe container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline LinuxParameters& WithTmpfs(const Aws::VectorThe container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline LinuxParameters& WithTmpfs(Aws::VectorThe container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline LinuxParameters& AddTmpfs(const Tmpfs& value) { m_tmpfsHasBeenSet = true; m_tmpfs.push_back(value); return *this; } /** *The container path, mount options, and size (in MiB) of the
* tmpfs
mount. This parameter maps to the --tmpfs
option
* to docker run.
This parameter isn't applicable to jobs that are running on Fargate * resources. Don't provide this parameter for this resource type.
*/ inline LinuxParameters& AddTmpfs(Tmpfs&& value) { m_tmpfsHasBeenSet = true; m_tmpfs.push_back(std::move(value)); return *this; } /** *The total amount of swap memory (in MiB) a container can use. This parameter
* is translated to the --memory-swap
option to docker run where the
* value is the sum of the container memory plus the maxSwap
value.
* For more information, see
* --memory-swap
details in the Docker documentation.
If a
* maxSwap
value of 0
is specified, the container doesn't
* use swap. Accepted values are 0
or any positive integer. If the
* maxSwap
parameter is omitted, the container doesn't use the swap
* configuration for the container instance that it's running on. A
* maxSwap
value must be set for the swappiness
parameter
* to be used.
This parameter isn't applicable to jobs that are * running on Fargate resources. Don't provide it for these jobs.
*/ inline int GetMaxSwap() const{ return m_maxSwap; } /** *The total amount of swap memory (in MiB) a container can use. This parameter
* is translated to the --memory-swap
option to docker run where the
* value is the sum of the container memory plus the maxSwap
value.
* For more information, see
* --memory-swap
details in the Docker documentation.
If a
* maxSwap
value of 0
is specified, the container doesn't
* use swap. Accepted values are 0
or any positive integer. If the
* maxSwap
parameter is omitted, the container doesn't use the swap
* configuration for the container instance that it's running on. A
* maxSwap
value must be set for the swappiness
parameter
* to be used.
This parameter isn't applicable to jobs that are * running on Fargate resources. Don't provide it for these jobs.
*/ inline bool MaxSwapHasBeenSet() const { return m_maxSwapHasBeenSet; } /** *The total amount of swap memory (in MiB) a container can use. This parameter
* is translated to the --memory-swap
option to docker run where the
* value is the sum of the container memory plus the maxSwap
value.
* For more information, see
* --memory-swap
details in the Docker documentation.
If a
* maxSwap
value of 0
is specified, the container doesn't
* use swap. Accepted values are 0
or any positive integer. If the
* maxSwap
parameter is omitted, the container doesn't use the swap
* configuration for the container instance that it's running on. A
* maxSwap
value must be set for the swappiness
parameter
* to be used.
This parameter isn't applicable to jobs that are * running on Fargate resources. Don't provide it for these jobs.
*/ inline void SetMaxSwap(int value) { m_maxSwapHasBeenSet = true; m_maxSwap = value; } /** *The total amount of swap memory (in MiB) a container can use. This parameter
* is translated to the --memory-swap
option to docker run where the
* value is the sum of the container memory plus the maxSwap
value.
* For more information, see
* --memory-swap
details in the Docker documentation.
If a
* maxSwap
value of 0
is specified, the container doesn't
* use swap. Accepted values are 0
or any positive integer. If the
* maxSwap
parameter is omitted, the container doesn't use the swap
* configuration for the container instance that it's running on. A
* maxSwap
value must be set for the swappiness
parameter
* to be used.
This parameter isn't applicable to jobs that are * running on Fargate resources. Don't provide it for these jobs.
*/ inline LinuxParameters& WithMaxSwap(int value) { SetMaxSwap(value); return *this;} /** *You can use this parameter to tune a container's memory swappiness behavior.
* A swappiness
value of 0
causes swapping to not occur
* unless absolutely necessary. A swappiness
value of 100
* causes pages to be swapped aggressively. Valid values are whole numbers between
* 0
and 100
. If the swappiness
parameter
* isn't specified, a default value of 60
is used. If a value isn't
* specified for maxSwap
, then this parameter is ignored. If
* maxSwap
is set to 0, the container doesn't use swap. This parameter
* maps to the --memory-swappiness
option to docker run.
Consider the following when you use a per-container swap configuration.
*Swap space must be enabled and allocated on the container instance * for the containers to use.
By default, the Amazon ECS optimized * AMIs don't have swap enabled. You must enable swap on the instance to use this * feature. For more information, see Instance * store swap volumes in the Amazon EC2 User Guide for Linux Instances * or How * do I allocate memory to work as swap space in an Amazon EC2 instance by using a * swap file?
The swap space parameters are only * supported for job definitions using EC2 resources.
If the
* maxSwap
and swappiness
parameters are omitted from a
* job definition, each container has a default swappiness
value of
* 60. Moreover, the total swap usage is limited to two times the memory
* reservation of the container.
This parameter isn't * applicable to jobs that are running on Fargate resources. Don't provide it for * these jobs.
*/ inline int GetSwappiness() const{ return m_swappiness; } /** *You can use this parameter to tune a container's memory swappiness behavior.
* A swappiness
value of 0
causes swapping to not occur
* unless absolutely necessary. A swappiness
value of 100
* causes pages to be swapped aggressively. Valid values are whole numbers between
* 0
and 100
. If the swappiness
parameter
* isn't specified, a default value of 60
is used. If a value isn't
* specified for maxSwap
, then this parameter is ignored. If
* maxSwap
is set to 0, the container doesn't use swap. This parameter
* maps to the --memory-swappiness
option to docker run.
Consider the following when you use a per-container swap configuration.
*Swap space must be enabled and allocated on the container instance * for the containers to use.
By default, the Amazon ECS optimized * AMIs don't have swap enabled. You must enable swap on the instance to use this * feature. For more information, see Instance * store swap volumes in the Amazon EC2 User Guide for Linux Instances * or How * do I allocate memory to work as swap space in an Amazon EC2 instance by using a * swap file?
The swap space parameters are only * supported for job definitions using EC2 resources.
If the
* maxSwap
and swappiness
parameters are omitted from a
* job definition, each container has a default swappiness
value of
* 60. Moreover, the total swap usage is limited to two times the memory
* reservation of the container.
This parameter isn't * applicable to jobs that are running on Fargate resources. Don't provide it for * these jobs.
*/ inline bool SwappinessHasBeenSet() const { return m_swappinessHasBeenSet; } /** *You can use this parameter to tune a container's memory swappiness behavior.
* A swappiness
value of 0
causes swapping to not occur
* unless absolutely necessary. A swappiness
value of 100
* causes pages to be swapped aggressively. Valid values are whole numbers between
* 0
and 100
. If the swappiness
parameter
* isn't specified, a default value of 60
is used. If a value isn't
* specified for maxSwap
, then this parameter is ignored. If
* maxSwap
is set to 0, the container doesn't use swap. This parameter
* maps to the --memory-swappiness
option to docker run.
Consider the following when you use a per-container swap configuration.
*Swap space must be enabled and allocated on the container instance * for the containers to use.
By default, the Amazon ECS optimized * AMIs don't have swap enabled. You must enable swap on the instance to use this * feature. For more information, see Instance * store swap volumes in the Amazon EC2 User Guide for Linux Instances * or How * do I allocate memory to work as swap space in an Amazon EC2 instance by using a * swap file?
The swap space parameters are only * supported for job definitions using EC2 resources.
If the
* maxSwap
and swappiness
parameters are omitted from a
* job definition, each container has a default swappiness
value of
* 60. Moreover, the total swap usage is limited to two times the memory
* reservation of the container.
This parameter isn't * applicable to jobs that are running on Fargate resources. Don't provide it for * these jobs.
*/ inline void SetSwappiness(int value) { m_swappinessHasBeenSet = true; m_swappiness = value; } /** *You can use this parameter to tune a container's memory swappiness behavior.
* A swappiness
value of 0
causes swapping to not occur
* unless absolutely necessary. A swappiness
value of 100
* causes pages to be swapped aggressively. Valid values are whole numbers between
* 0
and 100
. If the swappiness
parameter
* isn't specified, a default value of 60
is used. If a value isn't
* specified for maxSwap
, then this parameter is ignored. If
* maxSwap
is set to 0, the container doesn't use swap. This parameter
* maps to the --memory-swappiness
option to docker run.
Consider the following when you use a per-container swap configuration.
*Swap space must be enabled and allocated on the container instance * for the containers to use.
By default, the Amazon ECS optimized * AMIs don't have swap enabled. You must enable swap on the instance to use this * feature. For more information, see Instance * store swap volumes in the Amazon EC2 User Guide for Linux Instances * or How * do I allocate memory to work as swap space in an Amazon EC2 instance by using a * swap file?
The swap space parameters are only * supported for job definitions using EC2 resources.
If the
* maxSwap
and swappiness
parameters are omitted from a
* job definition, each container has a default swappiness
value of
* 60. Moreover, the total swap usage is limited to two times the memory
* reservation of the container.
This parameter isn't * applicable to jobs that are running on Fargate resources. Don't provide it for * these jobs.
*/ inline LinuxParameters& WithSwappiness(int value) { SetSwappiness(value); return *this;} private: Aws::Vector