Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ecs.kotlin
import com.pulumi.awsnative.ecs.TaskSetArgs.builder
import com.pulumi.awsnative.ecs.kotlin.enums.TaskSetLaunchType
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetLoadBalancerArgs
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetLoadBalancerArgsBuilder
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetNetworkConfigurationArgs
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetNetworkConfigurationArgsBuilder
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetScaleArgs
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetScaleArgsBuilder
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetServiceRegistryArgs
import com.pulumi.awsnative.ecs.kotlin.inputs.TaskSetServiceRegistryArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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
/**
* Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide.
* @property cluster The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.
* @property externalId An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.
* @property launchType The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide.
* @property loadBalancers A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.
* @property networkConfiguration The network configuration for the task set.
* @property platformVersion The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.
* @property scale A floating-point percentage of the desired number of tasks to place and keep running in the task set.
* @property service The short name or full Amazon Resource Name (ARN) of the service to create the task set in.
* @property serviceRegistries The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.
* @property tags The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value. You define both.
* The following basic restrictions apply to tags:
* - Maximum number of tags per resource - 50
* - For each resource, each tag key must be unique, and each tag key can have only one value.
* - Maximum key length - 128 Unicode characters in UTF-8
* - Maximum value length - 256 Unicode characters in UTF-8
* - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
* - Tag keys and values are case-sensitive.
* - Do not use `aws:` , `AWS:` , or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
* @property taskDefinition The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.
*/
public data class TaskSetArgs(
public val cluster: Output? = null,
public val externalId: Output? = null,
public val launchType: Output? = null,
public val loadBalancers: Output>? = null,
public val networkConfiguration: Output? = null,
public val platformVersion: Output? = null,
public val scale: Output? = null,
public val service: Output? = null,
public val serviceRegistries: Output>? = null,
public val tags: Output>? = null,
public val taskDefinition: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ecs.TaskSetArgs =
com.pulumi.awsnative.ecs.TaskSetArgs.builder()
.cluster(cluster?.applyValue({ args0 -> args0 }))
.externalId(externalId?.applyValue({ args0 -> args0 }))
.launchType(launchType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.loadBalancers(
loadBalancers?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.networkConfiguration(
networkConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.platformVersion(platformVersion?.applyValue({ args0 -> args0 }))
.scale(scale?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.service(service?.applyValue({ args0 -> args0 }))
.serviceRegistries(
serviceRegistries?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.taskDefinition(taskDefinition?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TaskSetArgs].
*/
@PulumiTagMarker
public class TaskSetArgsBuilder internal constructor() {
private var cluster: Output? = null
private var externalId: Output? = null
private var launchType: Output? = null
private var loadBalancers: Output>? = null
private var networkConfiguration: Output? = null
private var platformVersion: Output? = null
private var scale: Output? = null
private var service: Output? = null
private var serviceRegistries: Output>? = null
private var tags: Output>? = null
private var taskDefinition: Output? = null
/**
* @param value The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.
*/
@JvmName("cvgnikjffwgctmlj")
public suspend fun cluster(`value`: Output) {
this.cluster = value
}
/**
* @param value An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.
*/
@JvmName("wfkkraqjrdyfymts")
public suspend fun externalId(`value`: Output) {
this.externalId = value
}
/**
* @param value The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide.
*/
@JvmName("gsbvityhyjxkioem")
public suspend fun launchType(`value`: Output) {
this.launchType = value
}
/**
* @param value A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.
*/
@JvmName("bfajinfsjfecdgkm")
public suspend fun loadBalancers(`value`: Output>) {
this.loadBalancers = value
}
@JvmName("nrtxnayprogvshal")
public suspend fun loadBalancers(vararg values: Output) {
this.loadBalancers = Output.all(values.asList())
}
/**
* @param values A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.
*/
@JvmName("elquifwdjavlutei")
public suspend fun loadBalancers(values: List