
com.pulumi.aws.ec2.kotlin.inputs.LaunchTemplatePlacementArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.ec2.kotlin.inputs
import com.pulumi.aws.ec2.inputs.LaunchTemplatePlacementArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property affinity The affinity setting for an instance on a Dedicated Host.
* @property availabilityZone The Availability Zone for the instance.
* @property groupName The name of the placement group for the instance.
* @property hostId The ID of the Dedicated Host for the instance.
* @property hostResourceGroupArn The ARN of the Host Resource Group in which to launch instances.
* @property partitionNumber The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
* @property spreadDomain Reserved for future use.
* @property tenancy The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`.
*/
public data class LaunchTemplatePlacementArgs(
public val affinity: Output? = null,
public val availabilityZone: Output? = null,
public val groupName: Output? = null,
public val hostId: Output? = null,
public val hostResourceGroupArn: Output? = null,
public val partitionNumber: Output? = null,
public val spreadDomain: Output? = null,
public val tenancy: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.ec2.inputs.LaunchTemplatePlacementArgs =
com.pulumi.aws.ec2.inputs.LaunchTemplatePlacementArgs.builder()
.affinity(affinity?.applyValue({ args0 -> args0 }))
.availabilityZone(availabilityZone?.applyValue({ args0 -> args0 }))
.groupName(groupName?.applyValue({ args0 -> args0 }))
.hostId(hostId?.applyValue({ args0 -> args0 }))
.hostResourceGroupArn(hostResourceGroupArn?.applyValue({ args0 -> args0 }))
.partitionNumber(partitionNumber?.applyValue({ args0 -> args0 }))
.spreadDomain(spreadDomain?.applyValue({ args0 -> args0 }))
.tenancy(tenancy?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LaunchTemplatePlacementArgs].
*/
@PulumiTagMarker
public class LaunchTemplatePlacementArgsBuilder internal constructor() {
private var affinity: Output? = null
private var availabilityZone: Output? = null
private var groupName: Output? = null
private var hostId: Output? = null
private var hostResourceGroupArn: Output? = null
private var partitionNumber: Output? = null
private var spreadDomain: Output? = null
private var tenancy: Output? = null
/**
* @param value The affinity setting for an instance on a Dedicated Host.
*/
@JvmName("vqjqlmnynngblqxu")
public suspend fun affinity(`value`: Output) {
this.affinity = value
}
/**
* @param value The Availability Zone for the instance.
*/
@JvmName("wqvexbihfmwauckd")
public suspend fun availabilityZone(`value`: Output) {
this.availabilityZone = value
}
/**
* @param value The name of the placement group for the instance.
*/
@JvmName("vihcppydiqevadps")
public suspend fun groupName(`value`: Output) {
this.groupName = value
}
/**
* @param value The ID of the Dedicated Host for the instance.
*/
@JvmName("ncgsyfygpjnipdpb")
public suspend fun hostId(`value`: Output) {
this.hostId = value
}
/**
* @param value The ARN of the Host Resource Group in which to launch instances.
*/
@JvmName("wwgmqnkyakeynwvv")
public suspend fun hostResourceGroupArn(`value`: Output) {
this.hostResourceGroupArn = value
}
/**
* @param value The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
*/
@JvmName("tscgjcpakiknjrpd")
public suspend fun partitionNumber(`value`: Output) {
this.partitionNumber = value
}
/**
* @param value Reserved for future use.
*/
@JvmName("avwalatovnjxypby")
public suspend fun spreadDomain(`value`: Output) {
this.spreadDomain = value
}
/**
* @param value The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`.
*/
@JvmName("hqdjdhhxoescnwqt")
public suspend fun tenancy(`value`: Output) {
this.tenancy = value
}
/**
* @param value The affinity setting for an instance on a Dedicated Host.
*/
@JvmName("hqackbioeretvhpk")
public suspend fun affinity(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.affinity = mapped
}
/**
* @param value The Availability Zone for the instance.
*/
@JvmName("yfsedydsntatovrr")
public suspend fun availabilityZone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.availabilityZone = mapped
}
/**
* @param value The name of the placement group for the instance.
*/
@JvmName("bqdcbcckvilcqoun")
public suspend fun groupName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.groupName = mapped
}
/**
* @param value The ID of the Dedicated Host for the instance.
*/
@JvmName("xhhpnuaoxnywnjuk")
public suspend fun hostId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostId = mapped
}
/**
* @param value The ARN of the Host Resource Group in which to launch instances.
*/
@JvmName("exjkcqmcmhonseca")
public suspend fun hostResourceGroupArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostResourceGroupArn = mapped
}
/**
* @param value The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
*/
@JvmName("vmtodhevjoapxqrd")
public suspend fun partitionNumber(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.partitionNumber = mapped
}
/**
* @param value Reserved for future use.
*/
@JvmName("kpeptxpysfscjfjl")
public suspend fun spreadDomain(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.spreadDomain = mapped
}
/**
* @param value The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`.
*/
@JvmName("bnwthyvnjbudnwqm")
public suspend fun tenancy(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tenancy = mapped
}
internal fun build(): LaunchTemplatePlacementArgs = LaunchTemplatePlacementArgs(
affinity = affinity,
availabilityZone = availabilityZone,
groupName = groupName,
hostId = hostId,
hostResourceGroupArn = hostResourceGroupArn,
partitionNumber = partitionNumber,
spreadDomain = spreadDomain,
tenancy = tenancy,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy