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

com.pulumi.awsnative.pipes.kotlin.inputs.PipeBatchContainerOverridesArgs.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.PipeBatchContainerOverridesArgs.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 command The command to send to the container that overrides the default command from the Docker image or the task definition.
 * @property environment The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
 * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
 * @property instanceType The instance type to use for a multi-node parallel job.
 * > This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
 * @property resourceRequirements The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
 */
public data class PipeBatchContainerOverridesArgs(
    public val command: Output>? = null,
    public val environment: Output>? = null,
    public val instanceType: Output? = null,
    public val resourceRequirements: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.pipes.inputs.PipeBatchContainerOverridesArgs =
        com.pulumi.awsnative.pipes.inputs.PipeBatchContainerOverridesArgs.builder()
            .command(command?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .environment(
                environment?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .instanceType(instanceType?.applyValue({ args0 -> args0 }))
            .resourceRequirements(
                resourceRequirements?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

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

    private var environment: Output>? = null

    private var instanceType: Output? = null

    private var resourceRequirements: Output>? = null

    /**
     * @param value The command to send to the container that overrides the default command from the Docker image or the task definition.
     */
    @JvmName("akxqnythkeafrohd")
    public suspend fun command(`value`: Output>) {
        this.command = value
    }

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

    /**
     * @param values The command to send to the container that overrides the default command from the Docker image or the task definition.
     */
    @JvmName("xrmsmjvvjwdqthlp")
    public suspend fun command(values: List>) {
        this.command = Output.all(values)
    }

    /**
     * @param value The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("rwrubmwjritlbjjk")
    public suspend fun environment(`value`: Output>) {
        this.environment = value
    }

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

    /**
     * @param values The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("wluviassvjqrkwvx")
    public suspend fun environment(values: List>) {
        this.environment = Output.all(values)
    }

    /**
     * @param value The instance type to use for a multi-node parallel job.
     * > This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
     */
    @JvmName("pwlytcyiuqtmahjm")
    public suspend fun instanceType(`value`: Output) {
        this.instanceType = value
    }

    /**
     * @param value The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("gydrbvscodpkiukw")
    public suspend fun resourceRequirements(`value`: Output>) {
        this.resourceRequirements = value
    }

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

    /**
     * @param values The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("bnvdsrrnyipsqskq")
    public suspend fun resourceRequirements(values: List>) {
        this.resourceRequirements = Output.all(values)
    }

    /**
     * @param value The command to send to the container that overrides the default command from the Docker image or the task definition.
     */
    @JvmName("eyncjgrrntscrevk")
    public suspend fun command(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.command = mapped
    }

    /**
     * @param values The command to send to the container that overrides the default command from the Docker image or the task definition.
     */
    @JvmName("hxiqhhcgopqvqpat")
    public suspend fun command(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.command = mapped
    }

    /**
     * @param value The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("kqodbvrsbeevncds")
    public suspend fun environment(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.environment = mapped
    }

    /**
     * @param argument The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("tamxiusvensrexfs")
    public suspend fun environment(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipeBatchEnvironmentVariableArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.environment = mapped
    }

    /**
     * @param argument The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("jccjwtixylpmhcpg")
    public suspend fun environment(vararg argument: suspend PipeBatchEnvironmentVariableArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipeBatchEnvironmentVariableArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.environment = mapped
    }

    /**
     * @param argument The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("gsrpvieuibcftume")
    public suspend fun environment(argument: suspend PipeBatchEnvironmentVariableArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipeBatchEnvironmentVariableArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.environment = mapped
    }

    /**
     * @param values The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
     * > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
     */
    @JvmName("yobukbpjjhiwngii")
    public suspend fun environment(vararg values: PipeBatchEnvironmentVariableArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.environment = mapped
    }

    /**
     * @param value The instance type to use for a multi-node parallel job.
     * > This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
     */
    @JvmName("abokpqeouiuyjbel")
    public suspend fun instanceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceType = mapped
    }

    /**
     * @param value The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("yidonfenwihvaxkn")
    public suspend fun resourceRequirements(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceRequirements = mapped
    }

    /**
     * @param argument The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("mwjbwabajosqureu")
    public suspend fun resourceRequirements(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PipeBatchResourceRequirementArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.resourceRequirements = mapped
    }

    /**
     * @param argument The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("bmvgxsbedvomuxuu")
    public suspend fun resourceRequirements(vararg argument: suspend PipeBatchResourceRequirementArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            PipeBatchResourceRequirementArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.resourceRequirements = mapped
    }

    /**
     * @param argument The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("jplvotgkrabgphxw")
    public suspend fun resourceRequirements(argument: suspend PipeBatchResourceRequirementArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PipeBatchResourceRequirementArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.resourceRequirements = mapped
    }

    /**
     * @param values The type and amount of resources to assign to a container. This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
     */
    @JvmName("blexcxojksximyjb")
    public suspend fun resourceRequirements(vararg values: PipeBatchResourceRequirementArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceRequirements = mapped
    }

    internal fun build(): PipeBatchContainerOverridesArgs = PipeBatchContainerOverridesArgs(
        command = command,
        environment = environment,
        instanceType = instanceType,
        resourceRequirements = resourceRequirements,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy