
com.pulumi.awsnative.batch.kotlin.inputs.JobDefinitionNodeRangePropertyArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.batch.kotlin.inputs
import com.pulumi.awsnative.batch.inputs.JobDefinitionNodeRangePropertyArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property container The container details for the node range.
* @property ecsProperties This is an object that represents the properties of the node range for a multi-node parallel job.
* @property instanceTypes The instance types of the underlying host infrastructure of a multi-node parallel job.
* > This parameter isn't applicable to jobs that are running on Fargate resources.
* >
* > In addition, this list object is currently limited to one element.
* @property targetNodes The range of nodes, using node index values. A range of `0:3` indicates nodes with index values of `0` through `3` . If the starting range value is omitted ( `:n` ), then `0` is used to start the range. If the ending range value is omitted ( `n:` ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( `0:n` ). You can nest node ranges (for example, `0:10` and `4:5` ). In this case, the `4:5` range properties override the `0:10` properties.
*/
public data class JobDefinitionNodeRangePropertyArgs(
public val container: Output? = null,
public val ecsProperties: Output? = null,
public val instanceTypes: Output>? = null,
public val targetNodes: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.batch.inputs.JobDefinitionNodeRangePropertyArgs =
com.pulumi.awsnative.batch.inputs.JobDefinitionNodeRangePropertyArgs.builder()
.container(container?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.ecsProperties(ecsProperties?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.instanceTypes(instanceTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.targetNodes(targetNodes.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [JobDefinitionNodeRangePropertyArgs].
*/
@PulumiTagMarker
public class JobDefinitionNodeRangePropertyArgsBuilder internal constructor() {
private var container: Output? = null
private var ecsProperties: Output? = null
private var instanceTypes: Output>? = null
private var targetNodes: Output? = null
/**
* @param value The container details for the node range.
*/
@JvmName("wxmqoyfaoolkqbbs")
public suspend fun container(`value`: Output) {
this.container = value
}
/**
* @param value This is an object that represents the properties of the node range for a multi-node parallel job.
*/
@JvmName("ihpgerorurpgvmeh")
public suspend fun ecsProperties(`value`: Output) {
this.ecsProperties = value
}
/**
* @param value The instance types of the underlying host infrastructure of a multi-node parallel job.
* > This parameter isn't applicable to jobs that are running on Fargate resources.
* >
* > In addition, this list object is currently limited to one element.
*/
@JvmName("pyytqkpohxkhpqkq")
public suspend fun instanceTypes(`value`: Output>) {
this.instanceTypes = value
}
@JvmName("ctuohihybhvxvkmy")
public suspend fun instanceTypes(vararg values: Output) {
this.instanceTypes = Output.all(values.asList())
}
/**
* @param values The instance types of the underlying host infrastructure of a multi-node parallel job.
* > This parameter isn't applicable to jobs that are running on Fargate resources.
* >
* > In addition, this list object is currently limited to one element.
*/
@JvmName("picltepadnemjwiw")
public suspend fun instanceTypes(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy