All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.imagebuilder.kotlin.outputs.ContainerRecipeEbsInstanceBlockDeviceSpecification.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.imagebuilder.kotlin.outputs

import com.pulumi.awsnative.imagebuilder.kotlin.enums.ContainerRecipeEbsInstanceBlockDeviceSpecificationVolumeType
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 * Amazon EBS-specific block device mapping specifications.
 * @property deleteOnTermination Use to configure delete on termination of the associated device.
 * @property encrypted Use to configure device encryption.
 * @property iops Use to configure device IOPS.
 * @property kmsKeyId Use to configure the KMS key to use when encrypting the device.
 * @property snapshotId The snapshot that defines the device contents.
 * @property throughput For GP3 volumes only - The throughput in MiB/s that the volume supports.
 * @property volumeSize Use to override the device's volume size.
 * @property volumeType Use to override the device's volume type.
 */
public data class ContainerRecipeEbsInstanceBlockDeviceSpecification(
    public val deleteOnTermination: Boolean? = null,
    public val encrypted: Boolean? = null,
    public val iops: Int? = null,
    public val kmsKeyId: String? = null,
    public val snapshotId: String? = null,
    public val throughput: Int? = null,
    public val volumeSize: Int? = null,
    public val volumeType: ContainerRecipeEbsInstanceBlockDeviceSpecificationVolumeType? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.imagebuilder.outputs.ContainerRecipeEbsInstanceBlockDeviceSpecification): ContainerRecipeEbsInstanceBlockDeviceSpecification =
            ContainerRecipeEbsInstanceBlockDeviceSpecification(
                deleteOnTermination = javaType.deleteOnTermination().map({ args0 -> args0 }).orElse(null),
                encrypted = javaType.encrypted().map({ args0 -> args0 }).orElse(null),
                iops = javaType.iops().map({ args0 -> args0 }).orElse(null),
                kmsKeyId = javaType.kmsKeyId().map({ args0 -> args0 }).orElse(null),
                snapshotId = javaType.snapshotId().map({ args0 -> args0 }).orElse(null),
                throughput = javaType.throughput().map({ args0 -> args0 }).orElse(null),
                volumeSize = javaType.volumeSize().map({ args0 -> args0 }).orElse(null),
                volumeType = javaType.volumeType().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.awsnative.imagebuilder.kotlin.enums.ContainerRecipeEbsInstanceBlockDeviceSpecificationVolumeType.Companion.toKotlin(args0)
                    })
                }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy