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

com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionLinuxParameters.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.ecs.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.Suppress
import kotlin.collections.List

/**
 * The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).
 * @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.
 * @property devices Any host devices to expose to the container. This parameter maps to ``Devices`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--device`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).
 *   If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.
 * @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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration). 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}}'``
 * @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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration) 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.
 * @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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).
 *   If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.
 * @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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).
 *   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.
 * @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](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration).
 *   If you're using tasks that use the Fargate launch type, the ``tmpfs`` parameter isn't supported.
 */
public data class TaskDefinitionLinuxParameters(
    public val capabilities: TaskDefinitionKernelCapabilities? = null,
    public val devices: List? = null,
    public val initProcessEnabled: Boolean? = null,
    public val maxSwap: Int? = null,
    public val sharedMemorySize: Int? = null,
    public val swappiness: Int? = null,
    public val tmpfs: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.ecs.outputs.TaskDefinitionLinuxParameters): TaskDefinitionLinuxParameters = TaskDefinitionLinuxParameters(
            capabilities = javaType.capabilities().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionKernelCapabilities.Companion.toKotlin(args0)
                })
            }).orElse(null),
            devices = javaType.devices().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionDevice.Companion.toKotlin(args0)
                })
            }),
            initProcessEnabled = javaType.initProcessEnabled().map({ args0 -> args0 }).orElse(null),
            maxSwap = javaType.maxSwap().map({ args0 -> args0 }).orElse(null),
            sharedMemorySize = javaType.sharedMemorySize().map({ args0 -> args0 }).orElse(null),
            swappiness = javaType.swappiness().map({ args0 -> args0 }).orElse(null),
            tmpfs = javaType.tmpfs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.ecs.kotlin.outputs.TaskDefinitionTmpfs.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy