/* * 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 batch-2016-08-10.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.Batch.Model { /// /// Linux-specific modifications that are applied to the container, such as details for /// device mappings. /// public partial class LinuxParameters { 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 Devices. /// /// 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. /// /// /// 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. /// /// 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" /// /// 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 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. /// /// /// 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. /// /// /// /// This parameter isn't applicable to jobs that are running on Fargate resources. Don't /// provide it for these jobs. /// /// /// 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. /// /// 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. /// /// ///
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. /// /// /// /// This parameter isn't applicable to jobs that are running on Fargate resources. Don't /// provide this parameter for this resource type. /// /// /// 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; } } }