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

com.pulumi.awsnative.pipes.kotlin.inputs.PipeEcsTaskOverrideArgs.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.pipes.kotlin.inputs

import com.pulumi.awsnative.pipes.inputs.PipeEcsTaskOverrideArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property containerOverrides One or more container overrides that are sent to a task.
 * @property cpu The cpu override for the task.
 * @property ephemeralStorage The ephemeral storage setting override for the task.
 * > This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
 * >
 * > - Linux platform version `1.4.0` or later.
 * > - Windows platform version `1.0.0` or later.
 * @property executionRoleArn The Amazon Resource Name (ARN) of the task execution IAM role override for the task. For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide* .
 * @property inferenceAcceleratorOverrides The Elastic Inference accelerator override for the task.
 * @property memory The memory override for the task.
 * @property taskRoleArn The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see [IAM Role for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide* .
 */
public data class PipeEcsTaskOverrideArgs(
    public val containerOverrides: Output>? = null,
    public val cpu: Output? = null,
    public val ephemeralStorage: Output? = null,
    public val executionRoleArn: Output? = null,
    public val inferenceAcceleratorOverrides: Output>? =
        null,
    public val memory: Output? = null,
    public val taskRoleArn: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.pipes.inputs.PipeEcsTaskOverrideArgs =
        com.pulumi.awsnative.pipes.inputs.PipeEcsTaskOverrideArgs.builder()
            .containerOverrides(
                containerOverrides?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .cpu(cpu?.applyValue({ args0 -> args0 }))
            .ephemeralStorage(ephemeralStorage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .executionRoleArn(executionRoleArn?.applyValue({ args0 -> args0 }))
            .inferenceAcceleratorOverrides(
                inferenceAcceleratorOverrides?.applyValue({ args0 ->
                    args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .memory(memory?.applyValue({ args0 -> args0 }))
            .taskRoleArn(taskRoleArn?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [PipeEcsTaskOverrideArgs].
 */
@PulumiTagMarker
public class PipeEcsTaskOverrideArgsBuilder internal constructor() {
    private var containerOverrides: Output>? = null

    private var cpu: Output? = null

    private var ephemeralStorage: Output? = null

    private var executionRoleArn: Output? = null

    private var inferenceAcceleratorOverrides: Output>? =
        null

    private var memory: Output? = null

    private var taskRoleArn: Output? = null

    /**
     * @param value One or more container overrides that are sent to a task.
     */
    @JvmName("tafmulnjyjychdgt")
    public suspend fun containerOverrides(`value`: Output>) {
        this.containerOverrides = value
    }

    @JvmName("qsdatgvxkuoixcvf")
    public suspend fun containerOverrides(vararg values: Output) {
        this.containerOverrides = Output.all(values.asList())
    }

    /**
     * @param values One or more container overrides that are sent to a task.
     */
    @JvmName("birgrsxrqrivcmcp")
    public suspend fun containerOverrides(values: List>) {
        this.containerOverrides = Output.all(values)
    }

    /**
     * @param value The cpu override for the task.
     */
    @JvmName("ieiecxahkabddfpf")
    public suspend fun cpu(`value`: Output) {
        this.cpu = value
    }

    /**
     * @param value The ephemeral storage setting override for the task.
     * > This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
     * >
     * > - Linux platform version `1.4.0` or later.
     * > - Windows platform version `1.0.0` or later.
     */
    @JvmName("teojfhyisscgomog")
    public suspend fun ephemeralStorage(`value`: Output) {
        this.ephemeralStorage = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the task execution IAM role override for the task. For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide* .
     */
    @JvmName("auspmgxsqavylcmy")
    public suspend fun executionRoleArn(`value`: Output) {
        this.executionRoleArn = value
    }

    /**
     * @param value The Elastic Inference accelerator override for the task.
     */
    @JvmName("gydgtpyhkauemtxm")
    public suspend fun inferenceAcceleratorOverrides(`value`: Output>) {
        this.inferenceAcceleratorOverrides = value
    }

    @JvmName("glncrvlbqwyudfmc")
    public suspend fun inferenceAcceleratorOverrides(vararg values: Output) {
        this.inferenceAcceleratorOverrides = Output.all(values.asList())
    }

    /**
     * @param values The Elastic Inference accelerator override for the task.
     */
    @JvmName("ygptwloopctiosyk")
    public suspend fun inferenceAcceleratorOverrides(values: List>) {
        this.inferenceAcceleratorOverrides = Output.all(values)
    }

    /**
     * @param value The memory override for the task.
     */
    @JvmName("qdfasarcvknjbhon")
    public suspend fun memory(`value`: Output) {
        this.memory = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see [IAM Role for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide* .
     */
    @JvmName("pwlbyhachghbmlrt")
    public suspend fun taskRoleArn(`value`: Output) {
        this.taskRoleArn = value
    }

    /**
     * @param value One or more container overrides that are sent to a task.
     */
    @JvmName("xavgqxkbshehtcwy")
    public suspend fun containerOverrides(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerOverrides = mapped
    }

    /**
     * @param argument One or more container overrides that are sent to a task.
     */
    @JvmName("gysgwejyjccnkfjs")
    public suspend fun containerOverrides(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipeEcsContainerOverrideArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.containerOverrides = mapped
    }

    /**
     * @param argument One or more container overrides that are sent to a task.
     */
    @JvmName("xaoyhukiibggdqgt")
    public suspend fun containerOverrides(vararg argument: suspend PipeEcsContainerOverrideArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipeEcsContainerOverrideArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.containerOverrides = mapped
    }

    /**
     * @param argument One or more container overrides that are sent to a task.
     */
    @JvmName("krniighwhudxqhyu")
    public suspend fun containerOverrides(argument: suspend PipeEcsContainerOverrideArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipeEcsContainerOverrideArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.containerOverrides = mapped
    }

    /**
     * @param values One or more container overrides that are sent to a task.
     */
    @JvmName("uerevstteddftnnv")
    public suspend fun containerOverrides(vararg values: PipeEcsContainerOverrideArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.containerOverrides = mapped
    }

    /**
     * @param value The cpu override for the task.
     */
    @JvmName("eoxcpsgnoggvcodd")
    public suspend fun cpu(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpu = mapped
    }

    /**
     * @param value The ephemeral storage setting override for the task.
     * > This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
     * >
     * > - Linux platform version `1.4.0` or later.
     * > - Windows platform version `1.0.0` or later.
     */
    @JvmName("nxdvamjffvtsihwn")
    public suspend fun ephemeralStorage(`value`: PipeEcsEphemeralStorageArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.ephemeralStorage = mapped
    }

    /**
     * @param argument The ephemeral storage setting override for the task.
     * > This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
     * >
     * > - Linux platform version `1.4.0` or later.
     * > - Windows platform version `1.0.0` or later.
     */
    @JvmName("exdhgbararjhsico")
    public suspend fun ephemeralStorage(argument: suspend PipeEcsEphemeralStorageArgsBuilder.() -> Unit) {
        val toBeMapped = PipeEcsEphemeralStorageArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.ephemeralStorage = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the task execution IAM role override for the task. For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide* .
     */
    @JvmName("ovaihxrurqqlqkvi")
    public suspend fun executionRoleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.executionRoleArn = mapped
    }

    /**
     * @param value The Elastic Inference accelerator override for the task.
     */
    @JvmName("pfafuarnhknglfwl")
    public suspend fun inferenceAcceleratorOverrides(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.inferenceAcceleratorOverrides = mapped
    }

    /**
     * @param argument The Elastic Inference accelerator override for the task.
     */
    @JvmName("jsnsmxnswqiqsqlw")
    public suspend fun inferenceAcceleratorOverrides(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipeEcsInferenceAcceleratorOverrideArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.inferenceAcceleratorOverrides = mapped
    }

    /**
     * @param argument The Elastic Inference accelerator override for the task.
     */
    @JvmName("vnhufxyywjgyixoa")
    public suspend fun inferenceAcceleratorOverrides(vararg argument: suspend PipeEcsInferenceAcceleratorOverrideArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipeEcsInferenceAcceleratorOverrideArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.inferenceAcceleratorOverrides = mapped
    }

    /**
     * @param argument The Elastic Inference accelerator override for the task.
     */
    @JvmName("kiyvxxqkpxafjbri")
    public suspend fun inferenceAcceleratorOverrides(argument: suspend PipeEcsInferenceAcceleratorOverrideArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipeEcsInferenceAcceleratorOverrideArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.inferenceAcceleratorOverrides = mapped
    }

    /**
     * @param values The Elastic Inference accelerator override for the task.
     */
    @JvmName("wwfavfqpdoqaetfc")
    public suspend fun inferenceAcceleratorOverrides(vararg values: PipeEcsInferenceAcceleratorOverrideArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.inferenceAcceleratorOverrides = mapped
    }

    /**
     * @param value The memory override for the task.
     */
    @JvmName("rmvepbdwknhadnmp")
    public suspend fun memory(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.memory = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see [IAM Role for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide* .
     */
    @JvmName("svfibdsrelimtugr")
    public suspend fun taskRoleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.taskRoleArn = mapped
    }

    internal fun build(): PipeEcsTaskOverrideArgs = PipeEcsTaskOverrideArgs(
        containerOverrides = containerOverrides,
        cpu = cpu,
        ephemeralStorage = ephemeralStorage,
        executionRoleArn = executionRoleArn,
        inferenceAcceleratorOverrides = inferenceAcceleratorOverrides,
        memory = memory,
        taskRoleArn = taskRoleArn,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy