/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ecs-2014-11-13.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ECS.Model
{
///
/// The Linux-specific options that are applied to the container, such as Linux KernelCapabilities.
///
public partial class LinuxParameters
{
private KernelCapabilities _capabilities;
private List _devices = new List();
private bool? _initProcessEnabled;
private int? _maxSwap;
private int? _sharedMemorySize;
private int? _swappiness;
private List _tmpfs = new List();
///
/// Gets and sets the property Capabilities.
///
/// The Linux capabilities for the container that are added to or dropped from the default
/// configuration provided by Docker.
///
///
///
/// For tasks that use the Fargate launch type, capabilities
is supported
/// for all platform versions but the add
parameter is only supported if
/// using platform version 1.4.0 or later.
///
///
///
public KernelCapabilities Capabilities
{
get { return this._capabilities; }
set { this._capabilities = value; }
}
// Check to see if Capabilities property is set
internal bool IsSetCapabilities()
{
return this._capabilities != null;
}
///
/// Gets and sets the property Devices.
///
/// Any 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.
///
///
///
/// If you're using tasks that use the Fargate launch type, the devices
parameter
/// isn't supported.
///
///
///
public List Devices
{
get { return this._devices; }
set { this._devices = value; }
}
// Check to see if Devices property is set
internal bool IsSetDevices()
{
return this._devices != null && this._devices.Count > 0;
}
///
/// Gets and sets the property InitProcessEnabled.
///
/// 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 --format '{{.Server.APIVersion}}'
///
///
public bool InitProcessEnabled
{
get { return this._initProcessEnabled.GetValueOrDefault(); }
set { this._initProcessEnabled = value; }
}
// Check to see if InitProcessEnabled property is set
internal bool IsSetInitProcessEnabled()
{
return this._initProcessEnabled.HasValue;
}
///
/// Gets and sets the property MaxSwap.
///
/// The total amount of swap memory (in MiB) a container can use. This parameter will
/// be translated to the --memory-swap
option to docker
/// run where the value would be the sum of the container memory plus the maxSwap
/// value.
///
///
///
/// If a maxSwap
value of 0
is specified, the container will
/// not use swap. Accepted values are 0
or any positive integer. If the maxSwap
/// parameter is omitted, the container will use the swap configuration for the container
/// instance it is running on. A maxSwap
value must be set for the swappiness
/// parameter to be used.
///
///
///
/// If you're using tasks that use the Fargate launch type, the maxSwap
parameter
/// isn't supported.
///
///
///
/// If you're using tasks on Amazon Linux 2023 the swappiness
parameter isn't
/// supported.
///
///
///
public int MaxSwap
{
get { return this._maxSwap.GetValueOrDefault(); }
set { this._maxSwap = value; }
}
// Check to see if MaxSwap property is set
internal bool IsSetMaxSwap()
{
return this._maxSwap.HasValue;
}
///
/// Gets and sets the property SharedMemorySize.
///
/// The value for the size (in MiB) of the /dev/shm
volume. This parameter
/// maps to the --shm-size
option to docker
/// run.
///
///
///
/// If you are using tasks that use the Fargate launch type, the sharedMemorySize
/// parameter is not supported.
///
///
///
public int SharedMemorySize
{
get { return this._sharedMemorySize.GetValueOrDefault(); }
set { this._sharedMemorySize = value; }
}
// Check to see if SharedMemorySize property is set
internal bool IsSetSharedMemorySize()
{
return this._sharedMemorySize.HasValue;
}
///
/// Gets and sets the property Swappiness.
///
/// This allows you to tune a container's memory swappiness behavior. A swappiness
/// value of 0
will cause swapping to not happen unless absolutely necessary.
/// A swappiness
value of 100
will cause pages to be swapped
/// very aggressively. Accepted values are whole numbers between 0
and 100
.
/// If the swappiness
parameter is not specified, a default value of 60
/// is used. If a value is not specified for maxSwap
then this parameter
/// is ignored. This parameter maps to the --memory-swappiness
option to
/// docker
/// run.
///
///
///
/// If you're using tasks that use the Fargate launch type, the swappiness
/// parameter isn't supported.
///
///
///
/// If you're using tasks on Amazon Linux 2023 the swappiness
parameter isn't
/// supported.
///
///
///
public int Swappiness
{
get { return this._swappiness.GetValueOrDefault(); }
set { this._swappiness = value; }
}
// Check to see if Swappiness property is set
internal bool IsSetSwappiness()
{
return this._swappiness.HasValue;
}
///
/// Gets and sets the property Tmpfs.
///
/// The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter
/// maps to the --tmpfs
option to docker
/// run.
///
///
///
/// If you're using tasks that use the Fargate launch type, the tmpfs
parameter
/// isn't supported.
///
///
///
public List Tmpfs
{
get { return this._tmpfs; }
set { this._tmpfs = value; }
}
// Check to see if Tmpfs property is set
internal bool IsSetTmpfs()
{
return this._tmpfs != null && this._tmpfs.Count > 0;
}
}
}