com.pulumi.gcp.compute.kotlin.outputs.InstanceBootDiskInitializeParams.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.compute.kotlin.outputs
import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
/**
*
* @property enableConfidentialCompute Whether this disk is using confidential compute mode.
* Note: Only supported on hyperdisk skus, disk_encryption_key is required when setting to true.
* @property image The image from which to initialize this disk. This can be
* one of: the image's `self_link`, `projects/{project}/global/images/{image}`,
* `projects/{project}/global/images/family/{family}`, `global/images/{image}`,
* `global/images/family/{family}`, `family/{family}`, `{project}/{family}`,
* `{project}/{image}`, `{family}`, or `{image}`. If referred by family, the
* images names must include the family name. If they don't, use the
* [gcp.compute.Image data source](https://www.terraform.io/docs/providers/google/d/compute_image.html).
* For instance, the image `centos-6-v20180104` includes its family name `centos-6`.
* These images can be referred by family name here.
* @property labels A set of key/value label pairs assigned to the disk. This
* field is only applicable for persistent disks.
* @property provisionedIops Indicates how many IOPS to provision for the disk.
* This sets the number of I/O operations per second that the disk can handle.
* For more details,see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
* Note: Updating currently is only supported for hyperdisk skus via disk update
* api/gcloud without the need to delete and recreate the disk, hyperdisk allows
* for an update of IOPS every 4 hours. To update your hyperdisk more frequently,
* you'll need to manually delete and recreate it.
* @property provisionedThroughput Indicates how much throughput to provision for the disk.
* This sets the number of throughput mb per second that the disk can handle.
* For more details,see the [Hyperdisk documentation](https://cloud.google.com/compute/docs/disks/hyperdisks).
* Note: Updating currently is only supported for hyperdisk skus via disk update
* api/gcloud without the need to delete and recreate the disk, hyperdisk allows
* for an update of throughput every 4 hours. To update your hyperdisk more
* frequently, you'll need to manually delete and recreate it.
* @property resourceManagerTags A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
* @property size The size of the image in gigabytes. If not specified, it
* will inherit the size of its base image.
* @property type The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
*/
public data class InstanceBootDiskInitializeParams(
public val enableConfidentialCompute: Boolean? = null,
public val image: String? = null,
public val labels: Map? = null,
public val provisionedIops: Int? = null,
public val provisionedThroughput: Int? = null,
public val resourceManagerTags: Map? = null,
public val size: Int? = null,
public val type: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.InstanceBootDiskInitializeParams): InstanceBootDiskInitializeParams = InstanceBootDiskInitializeParams(
enableConfidentialCompute = javaType.enableConfidentialCompute().map({ args0 ->
args0
}).orElse(null),
image = javaType.image().map({ args0 -> args0 }).orElse(null),
labels = javaType.labels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
provisionedIops = javaType.provisionedIops().map({ args0 -> args0 }).orElse(null),
provisionedThroughput = javaType.provisionedThroughput().map({ args0 -> args0 }).orElse(null),
resourceManagerTags = javaType.resourceManagerTags().map({ args0 ->
args0.key.to(args0.value)
}).toMap(),
size = javaType.size().map({ args0 -> args0 }).orElse(null),
type = javaType.type().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy