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

com.pulumi.awsnative.scheduler.kotlin.inputs.ScheduleEcsParametersArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.scheduler.kotlin.inputs

import com.pulumi.awsnative.scheduler.inputs.ScheduleEcsParametersArgs.builder
import com.pulumi.awsnative.scheduler.kotlin.enums.ScheduleLaunchType
import com.pulumi.awsnative.scheduler.kotlin.enums.SchedulePropagateTags
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The custom parameters to be used when the target is an Amazon ECS task.
 * @property capacityProviderStrategy The capacity provider strategy to use for the task.
 * @property enableEcsManagedTags Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.
 * @property enableExecuteCommand Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.
 * @property group Specifies an ECS task group for the task. The maximum length is 255 characters.
 * @property launchType Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) in the *Amazon ECS Developer Guide* .
 * @property networkConfiguration This structure specifies the network configuration for an ECS task.
 * @property placementConstraints An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
 * @property placementStrategy The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
 * @property platformVersion Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.
 * @property propagateTags Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the Amazon ECS [`TagResource`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.
 * @property referenceId The reference ID to use for the task.
 * @property tags The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon ECS API Reference.
 * @property taskCount The number of tasks to create based on TaskDefinition. The default is 1.
 * @property taskDefinitionArn The ARN of the task definition to use if the event target is an Amazon ECS task.
 */
public data class ScheduleEcsParametersArgs(
    public val capacityProviderStrategy: Output>? =
        null,
    public val enableEcsManagedTags: Output? = null,
    public val enableExecuteCommand: Output? = null,
    public val group: Output? = null,
    public val launchType: Output? = null,
    public val networkConfiguration: Output? = null,
    public val placementConstraints: Output>? = null,
    public val placementStrategy: Output>? = null,
    public val platformVersion: Output? = null,
    public val propagateTags: Output? = null,
    public val referenceId: Output? = null,
    public val tags: Output>>? = null,
    public val taskCount: Output? = null,
    public val taskDefinitionArn: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.scheduler.inputs.ScheduleEcsParametersArgs =
        com.pulumi.awsnative.scheduler.inputs.ScheduleEcsParametersArgs.builder()
            .capacityProviderStrategy(
                capacityProviderStrategy?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .enableEcsManagedTags(enableEcsManagedTags?.applyValue({ args0 -> args0 }))
            .enableExecuteCommand(enableExecuteCommand?.applyValue({ args0 -> args0 }))
            .group(group?.applyValue({ args0 -> args0 }))
            .launchType(launchType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .networkConfiguration(
                networkConfiguration?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .placementConstraints(
                placementConstraints?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .placementStrategy(
                placementStrategy?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .platformVersion(platformVersion?.applyValue({ args0 -> args0 }))
            .propagateTags(propagateTags?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .referenceId(referenceId?.applyValue({ args0 -> args0 }))
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.map({ args0 ->
                            args0.key.to(args0.value)
                        }).toMap()
                    })
                }),
            )
            .taskCount(taskCount?.applyValue({ args0 -> args0 }))
            .taskDefinitionArn(taskDefinitionArn.applyValue({ args0 -> args0 })).build()
}

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

    private var enableEcsManagedTags: Output? = null

    private var enableExecuteCommand: Output? = null

    private var group: Output? = null

    private var launchType: Output? = null

    private var networkConfiguration: Output? = null

    private var placementConstraints: Output>? = null

    private var placementStrategy: Output>? = null

    private var platformVersion: Output? = null

    private var propagateTags: Output? = null

    private var referenceId: Output? = null

    private var tags: Output>>? = null

    private var taskCount: Output? = null

    private var taskDefinitionArn: Output? = null

    /**
     * @param value The capacity provider strategy to use for the task.
     */
    @JvmName("cgdxlxvpkoibiuvg")
    public suspend fun capacityProviderStrategy(`value`: Output>) {
        this.capacityProviderStrategy = value
    }

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

    /**
     * @param values The capacity provider strategy to use for the task.
     */
    @JvmName("ofnxrenavgkfnutd")
    public suspend fun capacityProviderStrategy(values: List>) {
        this.capacityProviderStrategy = Output.all(values)
    }

    /**
     * @param value Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.
     */
    @JvmName("yakqmtjfpqhbgeeo")
    public suspend fun enableEcsManagedTags(`value`: Output) {
        this.enableEcsManagedTags = value
    }

    /**
     * @param value Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.
     */
    @JvmName("vjorxrvqnvvfmolw")
    public suspend fun enableExecuteCommand(`value`: Output) {
        this.enableExecuteCommand = value
    }

    /**
     * @param value Specifies an ECS task group for the task. The maximum length is 255 characters.
     */
    @JvmName("ylxmigahwqbafvku")
    public suspend fun group(`value`: Output) {
        this.group = value
    }

    /**
     * @param value Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) in the *Amazon ECS Developer Guide* .
     */
    @JvmName("uqghlueatsqgpmlt")
    public suspend fun launchType(`value`: Output) {
        this.launchType = value
    }

    /**
     * @param value This structure specifies the network configuration for an ECS task.
     */
    @JvmName("qwnnttccwhqrlqok")
    public suspend fun networkConfiguration(`value`: Output) {
        this.networkConfiguration = value
    }

    /**
     * @param value An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("iwwfinqfqupqpvyo")
    public suspend fun placementConstraints(`value`: Output>) {
        this.placementConstraints = value
    }

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

    /**
     * @param values An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("srsjnnqutdpoqtym")
    public suspend fun placementConstraints(values: List>) {
        this.placementConstraints = Output.all(values)
    }

    /**
     * @param value The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("wbmgkipedreeuhsi")
    public suspend fun placementStrategy(`value`: Output>) {
        this.placementStrategy = value
    }

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

    /**
     * @param values The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("hnufhpscbseqvysy")
    public suspend fun placementStrategy(values: List>) {
        this.placementStrategy = Output.all(values)
    }

    /**
     * @param value Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.
     */
    @JvmName("qarcvyaiirwhgegd")
    public suspend fun platformVersion(`value`: Output) {
        this.platformVersion = value
    }

    /**
     * @param value Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the Amazon ECS [`TagResource`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.
     */
    @JvmName("tmytmvybflaealle")
    public suspend fun propagateTags(`value`: Output) {
        this.propagateTags = value
    }

    /**
     * @param value The reference ID to use for the task.
     */
    @JvmName("arfbvpoxuvnrnxxs")
    public suspend fun referenceId(`value`: Output) {
        this.referenceId = value
    }

    /**
     * @param value The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon ECS API Reference.
     */
    @JvmName("sipbekcxrrylqnco")
    public suspend fun tags(`value`: Output>>) {
        this.tags = value
    }

    @JvmName("qvqihtuivbfcrxyb")
    public suspend fun tags(vararg values: Output>) {
        this.tags = Output.all(values.asList())
    }

    /**
     * @param values The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon ECS API Reference.
     */
    @JvmName("viqahrlqdpvvkqhr")
    public suspend fun tags(values: List>>) {
        this.tags = Output.all(values)
    }

    /**
     * @param value The number of tasks to create based on TaskDefinition. The default is 1.
     */
    @JvmName("xbqqjbnshvmfwadh")
    public suspend fun taskCount(`value`: Output) {
        this.taskCount = value
    }

    /**
     * @param value The ARN of the task definition to use if the event target is an Amazon ECS task.
     */
    @JvmName("egfqbswbekmgeqsa")
    public suspend fun taskDefinitionArn(`value`: Output) {
        this.taskDefinitionArn = value
    }

    /**
     * @param value The capacity provider strategy to use for the task.
     */
    @JvmName("apkvaidsfdmygpbu")
    public suspend fun capacityProviderStrategy(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.capacityProviderStrategy = mapped
    }

    /**
     * @param argument The capacity provider strategy to use for the task.
     */
    @JvmName("tqcvjubxjwkqcyjj")
    public suspend fun capacityProviderStrategy(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ScheduleCapacityProviderStrategyItemArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.capacityProviderStrategy = mapped
    }

    /**
     * @param argument The capacity provider strategy to use for the task.
     */
    @JvmName("xwrlasbdfkevlgfn")
    public suspend fun capacityProviderStrategy(vararg argument: suspend ScheduleCapacityProviderStrategyItemArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            ScheduleCapacityProviderStrategyItemArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.capacityProviderStrategy = mapped
    }

    /**
     * @param argument The capacity provider strategy to use for the task.
     */
    @JvmName("whmgphnqssjdsrip")
    public suspend fun capacityProviderStrategy(argument: suspend ScheduleCapacityProviderStrategyItemArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ScheduleCapacityProviderStrategyItemArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.capacityProviderStrategy = mapped
    }

    /**
     * @param values The capacity provider strategy to use for the task.
     */
    @JvmName("uwsfiiwwirirfkjv")
    public suspend fun capacityProviderStrategy(vararg values: ScheduleCapacityProviderStrategyItemArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.capacityProviderStrategy = mapped
    }

    /**
     * @param value Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.
     */
    @JvmName("mhrlcntppgyawwuu")
    public suspend fun enableEcsManagedTags(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableEcsManagedTags = mapped
    }

    /**
     * @param value Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.
     */
    @JvmName("cuhqidlsyehafqdv")
    public suspend fun enableExecuteCommand(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableExecuteCommand = mapped
    }

    /**
     * @param value Specifies an ECS task group for the task. The maximum length is 255 characters.
     */
    @JvmName("qhljcsninpmfrbqf")
    public suspend fun group(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.group = mapped
    }

    /**
     * @param value Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) in the *Amazon ECS Developer Guide* .
     */
    @JvmName("xgxsriumkyeexpqt")
    public suspend fun launchType(`value`: ScheduleLaunchType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.launchType = mapped
    }

    /**
     * @param value This structure specifies the network configuration for an ECS task.
     */
    @JvmName("shwnutwthhftwfls")
    public suspend fun networkConfiguration(`value`: ScheduleNetworkConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.networkConfiguration = mapped
    }

    /**
     * @param argument This structure specifies the network configuration for an ECS task.
     */
    @JvmName("wcyxysicrfffncqs")
    public suspend fun networkConfiguration(argument: suspend ScheduleNetworkConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = ScheduleNetworkConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.networkConfiguration = mapped
    }

    /**
     * @param value An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("jvvnvdcmnmgcdfpl")
    public suspend fun placementConstraints(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.placementConstraints = mapped
    }

    /**
     * @param argument An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("gkyufehesdrmbuaa")
    public suspend fun placementConstraints(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            SchedulePlacementConstraintArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.placementConstraints = mapped
    }

    /**
     * @param argument An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("wedaerywehvagais")
    public suspend fun placementConstraints(vararg argument: suspend SchedulePlacementConstraintArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            SchedulePlacementConstraintArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.placementConstraints = mapped
    }

    /**
     * @param argument An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("scispjldkjjjvrfr")
    public suspend fun placementConstraints(argument: suspend SchedulePlacementConstraintArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            SchedulePlacementConstraintArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.placementConstraints = mapped
    }

    /**
     * @param values An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
     */
    @JvmName("rdulshsivocubhdw")
    public suspend fun placementConstraints(vararg values: SchedulePlacementConstraintArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.placementConstraints = mapped
    }

    /**
     * @param value The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("jcuimrohaouuvbst")
    public suspend fun placementStrategy(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.placementStrategy = mapped
    }

    /**
     * @param argument The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("shoggusvwonssmas")
    public suspend fun placementStrategy(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            SchedulePlacementStrategyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.placementStrategy = mapped
    }

    /**
     * @param argument The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("nvnsrbktfiapcthd")
    public suspend fun placementStrategy(vararg argument: suspend SchedulePlacementStrategyArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            SchedulePlacementStrategyArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.placementStrategy = mapped
    }

    /**
     * @param argument The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("ckncoktqjuvuonby")
    public suspend fun placementStrategy(argument: suspend SchedulePlacementStrategyArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            SchedulePlacementStrategyArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.placementStrategy = mapped
    }

    /**
     * @param values The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
     */
    @JvmName("dqcnqoduijriveqm")
    public suspend fun placementStrategy(vararg values: SchedulePlacementStrategyArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.placementStrategy = mapped
    }

    /**
     * @param value Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.
     */
    @JvmName("eenhvnjblrsnurbm")
    public suspend fun platformVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.platformVersion = mapped
    }

    /**
     * @param value Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the Amazon ECS [`TagResource`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.
     */
    @JvmName("jtkugjkywaluanpr")
    public suspend fun propagateTags(`value`: SchedulePropagateTags?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.propagateTags = mapped
    }

    /**
     * @param value The reference ID to use for the task.
     */
    @JvmName("dcvmpewirweegeru")
    public suspend fun referenceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.referenceId = mapped
    }

    /**
     * @param value The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon ECS API Reference.
     */
    @JvmName("xfvwarsqmltagsrh")
    public suspend fun tags(`value`: List>?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see RunTask in the Amazon ECS API Reference.
     */
    @JvmName("xjkokpmaaxhlucyq")
    public suspend fun tags(vararg values: Map) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param value The number of tasks to create based on TaskDefinition. The default is 1.
     */
    @JvmName("rgprcujosondxckn")
    public suspend fun taskCount(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.taskCount = mapped
    }

    /**
     * @param value The ARN of the task definition to use if the event target is an Amazon ECS task.
     */
    @JvmName("ctwrkaytaxgafcmn")
    public suspend fun taskDefinitionArn(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.taskDefinitionArn = mapped
    }

    internal fun build(): ScheduleEcsParametersArgs = ScheduleEcsParametersArgs(
        capacityProviderStrategy = capacityProviderStrategy,
        enableEcsManagedTags = enableEcsManagedTags,
        enableExecuteCommand = enableExecuteCommand,
        group = group,
        launchType = launchType,
        networkConfiguration = networkConfiguration,
        placementConstraints = placementConstraints,
        placementStrategy = placementStrategy,
        platformVersion = platformVersion,
        propagateTags = propagateTags,
        referenceId = referenceId,
        tags = tags,
        taskCount = taskCount,
        taskDefinitionArn = taskDefinitionArn ?: throw PulumiNullFieldException("taskDefinitionArn"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy