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

com.pulumi.awsnative.ec2.kotlin.outputs.InstanceEbs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.ec2.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property deleteOnTermination Indicates whether the EBS volume is deleted on instance termination.
 * @property encrypted Indicates whether the volume should be encrypted.
 * @property iops The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
 * @property kmsKeyId The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used.
 * @property snapshotId The ID of the snapshot.
 * @property volumeSize The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
 * @property volumeType The volume type.
 */
public data class InstanceEbs(
    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 volumeSize: Int? = null,
    public val volumeType: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.ec2.outputs.InstanceEbs): InstanceEbs =
            InstanceEbs(
                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),
                volumeSize = javaType.volumeSize().map({ args0 -> args0 }).orElse(null),
                volumeType = javaType.volumeType().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy