All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.batch.model.LinuxParameters Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Batch module holds the client classes that are used for communicating with AWS Batch.

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2019-2024 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.
 */
package com.amazonaws.services.batch.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Linux-specific modifications that are applied to the container, such as details for device mappings. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class LinuxParameters implements Serializable, Cloneable, StructuredPojo { /** *

* 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. *

*
*/ private java.util.List devices; /** *

* 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" *

*/ private Boolean initProcessEnabled; /** *

* 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. *

*
*/ private Integer sharedMemorySize; /** *

* 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. *

*
*/ private java.util.List tmpfs; /** *

* 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. *

*
*/ private Integer maxSwap; /** *

* 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. *

*
*/ private Integer swappiness; /** *

* 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. *

*
* * @return 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 java.util.List getDevices() { return 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. *

*
* * @param 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 void setDevices(java.util.Collection devices) { if (devices == null) { this.devices = null; return; } this.devices = new java.util.ArrayList(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. *

*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDevices(java.util.Collection)} or {@link #withDevices(java.util.Collection)} if you want to override * the existing values. *

* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withDevices(Device... devices) { if (this.devices == null) { setDevices(new java.util.ArrayList(devices.length)); } for (Device ele : devices) { this.devices.add(ele); } 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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withDevices(java.util.Collection devices) { setDevices(devices); 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" *

* * @param 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 void setInitProcessEnabled(Boolean initProcessEnabled) { this.initProcessEnabled = 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" *

* * @return 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 Boolean getInitProcessEnabled() { return this.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" *

* * @param 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" * @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withInitProcessEnabled(Boolean initProcessEnabled) { setInitProcessEnabled(initProcessEnabled); 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" *

* * @return 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 Boolean isInitProcessEnabled() { return this.initProcessEnabled; } /** *

* 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. *

*
* * @param 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 void setSharedMemorySize(Integer sharedMemorySize) { this.sharedMemorySize = 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. *

*
* * @return 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 Integer getSharedMemorySize() { return this.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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withSharedMemorySize(Integer sharedMemorySize) { setSharedMemorySize(sharedMemorySize); 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. *

*
* * @return 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 java.util.List getTmpfs() { return 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. *

*
* * @param 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 void setTmpfs(java.util.Collection tmpfs) { if (tmpfs == null) { this.tmpfs = null; return; } this.tmpfs = new java.util.ArrayList(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. *

*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTmpfs(java.util.Collection)} or {@link #withTmpfs(java.util.Collection)} if you want to override the * existing values. *

* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withTmpfs(Tmpfs... tmpfs) { if (this.tmpfs == null) { setTmpfs(new java.util.ArrayList(tmpfs.length)); } for (Tmpfs ele : tmpfs) { this.tmpfs.add(ele); } 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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withTmpfs(java.util.Collection tmpfs) { setTmpfs(tmpfs); 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. *

*
* * @param 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 void setMaxSwap(Integer maxSwap) { this.maxSwap = 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. *

*
* * @return 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 Integer getMaxSwap() { return this.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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withMaxSwap(Integer maxSwap) { setMaxSwap(maxSwap); 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. *

*
* * @param 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 void setSwappiness(Integer swappiness) { this.swappiness = 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. *

*
* * @return 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 Integer getSwappiness() { return this.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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public LinuxParameters withSwappiness(Integer swappiness) { setSwappiness(swappiness); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDevices() != null) sb.append("Devices: ").append(getDevices()).append(","); if (getInitProcessEnabled() != null) sb.append("InitProcessEnabled: ").append(getInitProcessEnabled()).append(","); if (getSharedMemorySize() != null) sb.append("SharedMemorySize: ").append(getSharedMemorySize()).append(","); if (getTmpfs() != null) sb.append("Tmpfs: ").append(getTmpfs()).append(","); if (getMaxSwap() != null) sb.append("MaxSwap: ").append(getMaxSwap()).append(","); if (getSwappiness() != null) sb.append("Swappiness: ").append(getSwappiness()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof LinuxParameters == false) return false; LinuxParameters other = (LinuxParameters) obj; if (other.getDevices() == null ^ this.getDevices() == null) return false; if (other.getDevices() != null && other.getDevices().equals(this.getDevices()) == false) return false; if (other.getInitProcessEnabled() == null ^ this.getInitProcessEnabled() == null) return false; if (other.getInitProcessEnabled() != null && other.getInitProcessEnabled().equals(this.getInitProcessEnabled()) == false) return false; if (other.getSharedMemorySize() == null ^ this.getSharedMemorySize() == null) return false; if (other.getSharedMemorySize() != null && other.getSharedMemorySize().equals(this.getSharedMemorySize()) == false) return false; if (other.getTmpfs() == null ^ this.getTmpfs() == null) return false; if (other.getTmpfs() != null && other.getTmpfs().equals(this.getTmpfs()) == false) return false; if (other.getMaxSwap() == null ^ this.getMaxSwap() == null) return false; if (other.getMaxSwap() != null && other.getMaxSwap().equals(this.getMaxSwap()) == false) return false; if (other.getSwappiness() == null ^ this.getSwappiness() == null) return false; if (other.getSwappiness() != null && other.getSwappiness().equals(this.getSwappiness()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDevices() == null) ? 0 : getDevices().hashCode()); hashCode = prime * hashCode + ((getInitProcessEnabled() == null) ? 0 : getInitProcessEnabled().hashCode()); hashCode = prime * hashCode + ((getSharedMemorySize() == null) ? 0 : getSharedMemorySize().hashCode()); hashCode = prime * hashCode + ((getTmpfs() == null) ? 0 : getTmpfs().hashCode()); hashCode = prime * hashCode + ((getMaxSwap() == null) ? 0 : getMaxSwap().hashCode()); hashCode = prime * hashCode + ((getSwappiness() == null) ? 0 : getSwappiness().hashCode()); return hashCode; } @Override public LinuxParameters clone() { try { return (LinuxParameters) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.batch.model.transform.LinuxParametersMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy