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

com.pulumi.azure.siterecovery.kotlin.outputs.ReplicatedVMManagedDisk.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.siterecovery.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property diskId Id of disk that should be replicated. Changing this forces a new resource to be created.
 * @property stagingStorageAccountId Storage account that should be used for caching. Changing this forces a new resource to be created.
 * @property targetDiskEncryption A `target_disk_encryption` block as defined below.
 * @property targetDiskEncryptionSetId The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
 * > **NOTE:** Creating replicated vm with `target_disk_encryption_set_id` wil take more time (up to 5 hours), please extend the `timeout` for `create`.
 * @property targetDiskType What type should the disk be when a failover is done. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
 * @property targetReplicaDiskType What type should the disk be that holds the replication data. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
 * @property targetResourceGroupId Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
 */
public data class ReplicatedVMManagedDisk(
    public val diskId: String,
    public val stagingStorageAccountId: String,
    public val targetDiskEncryption: ReplicatedVMManagedDiskTargetDiskEncryption? = null,
    public val targetDiskEncryptionSetId: String? = null,
    public val targetDiskType: String,
    public val targetReplicaDiskType: String,
    public val targetResourceGroupId: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.siterecovery.outputs.ReplicatedVMManagedDisk): ReplicatedVMManagedDisk = ReplicatedVMManagedDisk(
            diskId = javaType.diskId(),
            stagingStorageAccountId = javaType.stagingStorageAccountId(),
            targetDiskEncryption = javaType.targetDiskEncryption().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.siterecovery.kotlin.outputs.ReplicatedVMManagedDiskTargetDiskEncryption.Companion.toKotlin(args0)
                })
            }).orElse(null),
            targetDiskEncryptionSetId = javaType.targetDiskEncryptionSetId().map({ args0 ->
                args0
            }).orElse(null),
            targetDiskType = javaType.targetDiskType(),
            targetReplicaDiskType = javaType.targetReplicaDiskType(),
            targetResourceGroupId = javaType.targetResourceGroupId(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy