com.pulumi.awsnative.lightsail.kotlin.DiskArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
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.lightsail.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.lightsail.DiskArgs.builder
import com.pulumi.awsnative.lightsail.kotlin.inputs.DiskAddOnArgs
import com.pulumi.awsnative.lightsail.kotlin.inputs.DiskAddOnArgsBuilder
import com.pulumi.awsnative.lightsail.kotlin.inputs.DiskLocationArgs
import com.pulumi.awsnative.lightsail.kotlin.inputs.DiskLocationArgsBuilder
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::Lightsail::Disk
* @property addOns An array of objects representing the add-ons to enable for the new instance.
* @property availabilityZone The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). Be sure to add the include Availability Zones parameter to your request.
* @property diskName The names to use for your new Lightsail disk.
* @property location The AWS Region and Availability Zone where the disk is located.
* @property sizeInGb Size of the Lightsail disk
* @property tags An array of key-value pairs to apply to this resource.
*/
public data class DiskArgs(
public val addOns: Output>? = null,
public val availabilityZone: Output? = null,
public val diskName: Output? = null,
public val location: Output? = null,
public val sizeInGb: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.lightsail.DiskArgs =
com.pulumi.awsnative.lightsail.DiskArgs.builder()
.addOns(addOns?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.availabilityZone(availabilityZone?.applyValue({ args0 -> args0 }))
.diskName(diskName?.applyValue({ args0 -> args0 }))
.location(location?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sizeInGb(sizeInGb?.applyValue({ args0 -> args0 }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [DiskArgs].
*/
@PulumiTagMarker
public class DiskArgsBuilder internal constructor() {
private var addOns: Output>? = null
private var availabilityZone: Output? = null
private var diskName: Output? = null
private var location: Output? = null
private var sizeInGb: Output? = null
private var tags: Output>? = null
/**
* @param value An array of objects representing the add-ons to enable for the new instance.
*/
@JvmName("glwxonnaqlpueueq")
public suspend fun addOns(`value`: Output>) {
this.addOns = value
}
@JvmName("bgyaiovlhxlqaokb")
public suspend fun addOns(vararg values: Output) {
this.addOns = Output.all(values.asList())
}
/**
* @param values An array of objects representing the add-ons to enable for the new instance.
*/
@JvmName("hvnehiooyyrictgc")
public suspend fun addOns(values: List