Please wait. This can take some minutes ...
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.
com.pulumi.aws.ec2.kotlin.inputs.SpotFleetRequestLaunchSpecificationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.ec2.kotlin.inputs
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs.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.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property ami
* @property associatePublicIpAddress
* @property availabilityZone The availability zone in which to place the request.
* @property ebsBlockDevices
* @property ebsOptimized
* @property ephemeralBlockDevices
* @property iamInstanceProfile
* @property iamInstanceProfileArn
* @property instanceType The type of instance to request.
* @property keyName
* @property monitoring
* @property placementGroup
* @property placementTenancy
* @property rootBlockDevices
* @property spotPrice The maximum bid price per unit hour.
* @property subnetId The subnet in which to launch the requested instance.
* @property tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
* @property userData
* @property vpcSecurityGroupIds
* @property weightedCapacity The capacity added to the fleet by a fulfilled request.
*/
public data class SpotFleetRequestLaunchSpecificationArgs(
public val ami: Output,
public val associatePublicIpAddress: Output? = null,
public val availabilityZone: Output? = null,
public val ebsBlockDevices: Output>? =
null,
public val ebsOptimized: Output? = null,
public val ephemeralBlockDevices: Output>? = null,
public val iamInstanceProfile: Output? = null,
public val iamInstanceProfileArn: Output? = null,
public val instanceType: Output,
public val keyName: Output? = null,
public val monitoring: Output? = null,
public val placementGroup: Output? = null,
public val placementTenancy: Output? = null,
public val rootBlockDevices: Output>? =
null,
public val spotPrice: Output? = null,
public val subnetId: Output? = null,
public val tags: Output>? = null,
public val userData: Output? = null,
public val vpcSecurityGroupIds: Output>? = null,
public val weightedCapacity: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs =
com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs.builder()
.ami(ami.applyValue({ args0 -> args0 }))
.associatePublicIpAddress(associatePublicIpAddress?.applyValue({ args0 -> args0 }))
.availabilityZone(availabilityZone?.applyValue({ args0 -> args0 }))
.ebsBlockDevices(
ebsBlockDevices?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.ebsOptimized(ebsOptimized?.applyValue({ args0 -> args0 }))
.ephemeralBlockDevices(
ephemeralBlockDevices?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.iamInstanceProfile(iamInstanceProfile?.applyValue({ args0 -> args0 }))
.iamInstanceProfileArn(iamInstanceProfileArn?.applyValue({ args0 -> args0 }))
.instanceType(instanceType.applyValue({ args0 -> args0 }))
.keyName(keyName?.applyValue({ args0 -> args0 }))
.monitoring(monitoring?.applyValue({ args0 -> args0 }))
.placementGroup(placementGroup?.applyValue({ args0 -> args0 }))
.placementTenancy(placementTenancy?.applyValue({ args0 -> args0 }))
.rootBlockDevices(
rootBlockDevices?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.spotPrice(spotPrice?.applyValue({ args0 -> args0 }))
.subnetId(subnetId?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.userData(userData?.applyValue({ args0 -> args0 }))
.vpcSecurityGroupIds(vpcSecurityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.weightedCapacity(weightedCapacity?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SpotFleetRequestLaunchSpecificationArgs].
*/
@PulumiTagMarker
public class SpotFleetRequestLaunchSpecificationArgsBuilder internal constructor() {
private var ami: Output? = null
private var associatePublicIpAddress: Output? = null
private var availabilityZone: Output? = null
private var ebsBlockDevices: Output>? =
null
private var ebsOptimized: Output? = null
private var ephemeralBlockDevices:
Output>? = null
private var iamInstanceProfile: Output? = null
private var iamInstanceProfileArn: Output? = null
private var instanceType: Output? = null
private var keyName: Output? = null
private var monitoring: Output? = null
private var placementGroup: Output? = null
private var placementTenancy: Output? = null
private var rootBlockDevices:
Output>? = null
private var spotPrice: Output? = null
private var subnetId: Output? = null
private var tags: Output>? = null
private var userData: Output? = null
private var vpcSecurityGroupIds: Output>? = null
private var weightedCapacity: Output? = null
/**
* @param value
*/
@JvmName("ovmoewxjwewpobpi")
public suspend fun ami(`value`: Output) {
this.ami = value
}
/**
* @param value
*/
@JvmName("deqarwuncurvtsvr")
public suspend fun associatePublicIpAddress(`value`: Output) {
this.associatePublicIpAddress = value
}
/**
* @param value The availability zone in which to place the request.
*/
@JvmName("hjqyasbhjvpdldli")
public suspend fun availabilityZone(`value`: Output) {
this.availabilityZone = value
}
/**
* @param value
*/
@JvmName("stctfrlfevetkyic")
public suspend fun ebsBlockDevices(`value`: Output>) {
this.ebsBlockDevices = value
}
@JvmName("ncovnjtflnrdcush")
public suspend fun ebsBlockDevices(vararg values: Output) {
this.ebsBlockDevices = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("seoqqneaojnnqtjq")
public suspend fun ebsBlockDevices(values: List>) {
this.ebsBlockDevices = Output.all(values)
}
/**
* @param value
*/
@JvmName("qohghjlasvgbrkfp")
public suspend fun ebsOptimized(`value`: Output) {
this.ebsOptimized = value
}
/**
* @param value
*/
@JvmName("mggvspgygqwomfur")
public suspend fun ephemeralBlockDevices(`value`: Output>) {
this.ephemeralBlockDevices = value
}
@JvmName("soiwonnydtjqxxdq")
public suspend fun ephemeralBlockDevices(vararg values: Output) {
this.ephemeralBlockDevices = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("yeobuantwetodcnn")
public suspend fun ephemeralBlockDevices(values: List>) {
this.ephemeralBlockDevices = Output.all(values)
}
/**
* @param value
*/
@JvmName("alwnsnqcrdehfnme")
public suspend fun iamInstanceProfile(`value`: Output) {
this.iamInstanceProfile = value
}
/**
* @param value
*/
@JvmName("ncyqpcilinimljcb")
public suspend fun iamInstanceProfileArn(`value`: Output) {
this.iamInstanceProfileArn = value
}
/**
* @param value The type of instance to request.
*/
@JvmName("xvdhqbejdoosjrph")
public suspend fun instanceType(`value`: Output) {
this.instanceType = value
}
/**
* @param value
*/
@JvmName("wwjlxqkewonlphjr")
public suspend fun keyName(`value`: Output) {
this.keyName = value
}
/**
* @param value
*/
@JvmName("yippxhyyvrlmeeiv")
public suspend fun monitoring(`value`: Output) {
this.monitoring = value
}
/**
* @param value
*/
@JvmName("sncxwpgqujpfsfsm")
public suspend fun placementGroup(`value`: Output) {
this.placementGroup = value
}
/**
* @param value
*/
@JvmName("tftlpcxomlhhlypw")
public suspend fun placementTenancy(`value`: Output) {
this.placementTenancy = value
}
/**
* @param value
*/
@JvmName("wafpbwxqgertoyat")
public suspend fun rootBlockDevices(`value`: Output>) {
this.rootBlockDevices = value
}
@JvmName("gtqjlhuuatapkcwp")
public suspend fun rootBlockDevices(vararg values: Output) {
this.rootBlockDevices = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("eceacpqqdsnqwygn")
public suspend fun rootBlockDevices(values: List>) {
this.rootBlockDevices = Output.all(values)
}
/**
* @param value The maximum bid price per unit hour.
*/
@JvmName("hwgkpcjfuldaoxyv")
public suspend fun spotPrice(`value`: Output) {
this.spotPrice = value
}
/**
* @param value The subnet in which to launch the requested instance.
*/
@JvmName("gggnevqjgbfcadhd")
public suspend fun subnetId(`value`: Output) {
this.subnetId = value
}
/**
* @param value A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("yykinldgvvequqwt")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value
*/
@JvmName("jetelqbmoktyvqhi")
public suspend fun userData(`value`: Output) {
this.userData = value
}
/**
* @param value
*/
@JvmName("qkwtxqgpgaifevfw")
public suspend fun vpcSecurityGroupIds(`value`: Output>) {
this.vpcSecurityGroupIds = value
}
@JvmName("ryiipsndxeglvuyv")
public suspend fun vpcSecurityGroupIds(vararg values: Output) {
this.vpcSecurityGroupIds = Output.all(values.asList())
}
/**
* @param values
*/
@JvmName("gfksulspbtcgurqa")
public suspend fun vpcSecurityGroupIds(values: List>) {
this.vpcSecurityGroupIds = Output.all(values)
}
/**
* @param value The capacity added to the fleet by a fulfilled request.
*/
@JvmName("okwyvgvvrckrrfqy")
public suspend fun weightedCapacity(`value`: Output) {
this.weightedCapacity = value
}
/**
* @param value
*/
@JvmName("dhnsweuwngmjtyep")
public suspend fun ami(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ami = mapped
}
/**
* @param value
*/
@JvmName("ykoblvnhtwytpcmo")
public suspend fun associatePublicIpAddress(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.associatePublicIpAddress = mapped
}
/**
* @param value The availability zone in which to place the request.
*/
@JvmName("xcdgfpchwxerdbhi")
public suspend fun availabilityZone(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.availabilityZone = mapped
}
/**
* @param value
*/
@JvmName("urpqkrqalaldkxkk")
public suspend fun ebsBlockDevices(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ebsBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("vhsmputgxrreftsy")
public suspend fun ebsBlockDevices(argument: List Unit>) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.ebsBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("cioyhdcvhkmqwttv")
public suspend fun ebsBlockDevices(vararg argument: suspend SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.ebsBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("uxpyaovimjojfjkq")
public suspend fun ebsBlockDevices(argument: suspend SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.ebsBlockDevices = mapped
}
/**
* @param values
*/
@JvmName("xgbpxpbvlkrujavk")
public suspend fun ebsBlockDevices(vararg values: SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ebsBlockDevices = mapped
}
/**
* @param value
*/
@JvmName("vgxoxqnqxcsffsaw")
public suspend fun ebsOptimized(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ebsOptimized = mapped
}
/**
* @param value
*/
@JvmName("yusykrhbmoiulfpo")
public suspend fun ephemeralBlockDevices(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ephemeralBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("iywyedrlsbcphule")
public suspend fun ephemeralBlockDevices(argument: List Unit>) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.ephemeralBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("qcbbttsdifswvqoy")
public suspend fun ephemeralBlockDevices(vararg argument: suspend SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.ephemeralBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("lagfdqgwkmjoaofw")
public suspend fun ephemeralBlockDevices(argument: suspend SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.ephemeralBlockDevices = mapped
}
/**
* @param values
*/
@JvmName("ntfhansrtiwbqtpj")
public suspend fun ephemeralBlockDevices(vararg values: SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.ephemeralBlockDevices = mapped
}
/**
* @param value
*/
@JvmName("ndsgxxtsqmjvjjka")
public suspend fun iamInstanceProfile(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamInstanceProfile = mapped
}
/**
* @param value
*/
@JvmName("dcqhfyippmqtcjiw")
public suspend fun iamInstanceProfileArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamInstanceProfileArn = mapped
}
/**
* @param value The type of instance to request.
*/
@JvmName("bkxspopamolwokma")
public suspend fun instanceType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.instanceType = mapped
}
/**
* @param value
*/
@JvmName("qlvxkosacqgptuug")
public suspend fun keyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.keyName = mapped
}
/**
* @param value
*/
@JvmName("lngiwbvnlnvkotiv")
public suspend fun monitoring(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.monitoring = mapped
}
/**
* @param value
*/
@JvmName("lblwkufxjugvgehk")
public suspend fun placementGroup(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.placementGroup = mapped
}
/**
* @param value
*/
@JvmName("ssgbljdqbmkpjmhb")
public suspend fun placementTenancy(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.placementTenancy = mapped
}
/**
* @param value
*/
@JvmName("gyfhvxvoycrhbkdi")
public suspend fun rootBlockDevices(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rootBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("laylushrfqlbqewv")
public suspend fun rootBlockDevices(argument: List Unit>) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationRootBlockDeviceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.rootBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("vxyyaabvbccvcpbv")
public suspend fun rootBlockDevices(vararg argument: suspend SpotFleetRequestLaunchSpecificationRootBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
SpotFleetRequestLaunchSpecificationRootBlockDeviceArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.rootBlockDevices = mapped
}
/**
* @param argument
*/
@JvmName("cwnxlixndyumgkse")
public suspend fun rootBlockDevices(argument: suspend SpotFleetRequestLaunchSpecificationRootBlockDeviceArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
SpotFleetRequestLaunchSpecificationRootBlockDeviceArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.rootBlockDevices = mapped
}
/**
* @param values
*/
@JvmName("wnddariyowkgjios")
public suspend fun rootBlockDevices(vararg values: SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rootBlockDevices = mapped
}
/**
* @param value The maximum bid price per unit hour.
*/
@JvmName("crgoqehbxivaaoft")
public suspend fun spotPrice(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.spotPrice = mapped
}
/**
* @param value The subnet in which to launch the requested instance.
*/
@JvmName("ussavvsxcxhqkbsn")
public suspend fun subnetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subnetId = mapped
}
/**
* @param value A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("icclieqiufmthgbd")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
@JvmName("vkoomblpptwhmmpg")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value
*/
@JvmName("vjfxfksaoqltdiil")
public suspend fun userData(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.userData = mapped
}
/**
* @param value
*/
@JvmName("gyvqmgtslylsonqm")
public suspend fun vpcSecurityGroupIds(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcSecurityGroupIds = mapped
}
/**
* @param values
*/
@JvmName("rrcowevqfenmhhej")
public suspend fun vpcSecurityGroupIds(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.vpcSecurityGroupIds = mapped
}
/**
* @param value The capacity added to the fleet by a fulfilled request.
*/
@JvmName("hampeorokiojiksf")
public suspend fun weightedCapacity(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.weightedCapacity = mapped
}
internal fun build(): SpotFleetRequestLaunchSpecificationArgs =
SpotFleetRequestLaunchSpecificationArgs(
ami = ami ?: throw PulumiNullFieldException("ami"),
associatePublicIpAddress = associatePublicIpAddress,
availabilityZone = availabilityZone,
ebsBlockDevices = ebsBlockDevices,
ebsOptimized = ebsOptimized,
ephemeralBlockDevices = ephemeralBlockDevices,
iamInstanceProfile = iamInstanceProfile,
iamInstanceProfileArn = iamInstanceProfileArn,
instanceType = instanceType ?: throw PulumiNullFieldException("instanceType"),
keyName = keyName,
monitoring = monitoring,
placementGroup = placementGroup,
placementTenancy = placementTenancy,
rootBlockDevices = rootBlockDevices,
spotPrice = spotPrice,
subnetId = subnetId,
tags = tags,
userData = userData,
vpcSecurityGroupIds = vpcSecurityGroupIds,
weightedCapacity = weightedCapacity,
)
}