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

com.pulumi.azurenative.recoveryservices.kotlin.inputs.AzureIaaSClassicComputeVMContainerArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.recoveryservices.kotlin.inputs

import com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMContainerArgs.builder
import com.pulumi.azurenative.recoveryservices.kotlin.enums.BackupManagementType
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * IaaS VM workload-specific backup item representing a classic virtual machine.
 * @property backupManagementType Type of backup management for the container.
 * @property containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
 * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
 * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
 * Backup is VMAppContainer
 * Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
 * @property friendlyName Friendly name of the container.
 * @property healthStatus Status of health of the container.
 * @property protectableObjectType Type of the protectable object associated with this container
 * @property registrationStatus Status of registration of the container with the Recovery Services Vault.
 * @property resourceGroup Resource group name of Recovery Services Vault.
 * @property virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
 * @property virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM.
 */
public data class AzureIaaSClassicComputeVMContainerArgs(
    public val backupManagementType: Output>? = null,
    public val containerType: Output,
    public val friendlyName: Output? = null,
    public val healthStatus: Output? = null,
    public val protectableObjectType: Output? = null,
    public val registrationStatus: Output? = null,
    public val resourceGroup: Output? = null,
    public val virtualMachineId: Output? = null,
    public val virtualMachineVersion: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMContainerArgs =
        com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMContainerArgs.builder()
            .backupManagementType(
                backupManagementType?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .containerType(containerType.applyValue({ args0 -> args0 }))
            .friendlyName(friendlyName?.applyValue({ args0 -> args0 }))
            .healthStatus(healthStatus?.applyValue({ args0 -> args0 }))
            .protectableObjectType(protectableObjectType?.applyValue({ args0 -> args0 }))
            .registrationStatus(registrationStatus?.applyValue({ args0 -> args0 }))
            .resourceGroup(resourceGroup?.applyValue({ args0 -> args0 }))
            .virtualMachineId(virtualMachineId?.applyValue({ args0 -> args0 }))
            .virtualMachineVersion(virtualMachineVersion?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AzureIaaSClassicComputeVMContainerArgs].
 */
@PulumiTagMarker
public class AzureIaaSClassicComputeVMContainerArgsBuilder internal constructor() {
    private var backupManagementType: Output>? = null

    private var containerType: Output? = null

    private var friendlyName: Output? = null

    private var healthStatus: Output? = null

    private var protectableObjectType: Output? = null

    private var registrationStatus: Output? = null

    private var resourceGroup: Output? = null

    private var virtualMachineId: Output? = null

    private var virtualMachineVersion: Output? = null

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("pkrjbowfvmjslkix")
    public suspend fun backupManagementType(`value`: Output>) {
        this.backupManagementType = value
    }

    /**
     * @param value Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
     * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
     * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
     * Backup is VMAppContainer
     * Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
     */
    @JvmName("quxnsvdgbkvwxkja")
    public suspend fun containerType(`value`: Output) {
        this.containerType = value
    }

    /**
     * @param value Friendly name of the container.
     */
    @JvmName("qekvvokvhbhsvohe")
    public suspend fun friendlyName(`value`: Output) {
        this.friendlyName = value
    }

    /**
     * @param value Status of health of the container.
     */
    @JvmName("ioibafjfpjsvbibn")
    public suspend fun healthStatus(`value`: Output) {
        this.healthStatus = value
    }

    /**
     * @param value Type of the protectable object associated with this container
     */
    @JvmName("lqtajwhmlobbpcqm")
    public suspend fun protectableObjectType(`value`: Output) {
        this.protectableObjectType = value
    }

    /**
     * @param value Status of registration of the container with the Recovery Services Vault.
     */
    @JvmName("tfexnvolsxsdlidr")
    public suspend fun registrationStatus(`value`: Output) {
        this.registrationStatus = value
    }

    /**
     * @param value Resource group name of Recovery Services Vault.
     */
    @JvmName("tceilfnwlfjuqqvt")
    public suspend fun resourceGroup(`value`: Output) {
        this.resourceGroup = value
    }

    /**
     * @param value Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
     */
    @JvmName("qcdfglxpxatcpnbb")
    public suspend fun virtualMachineId(`value`: Output) {
        this.virtualMachineId = value
    }

    /**
     * @param value Specifies whether the container represents a Classic or an Azure Resource Manager VM.
     */
    @JvmName("wrgqfcjqqgsksbig")
    public suspend fun virtualMachineVersion(`value`: Output) {
        this.virtualMachineVersion = value
    }

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("ayihrhhcrhahtygu")
    public suspend fun backupManagementType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.backupManagementType = mapped
    }

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("qnladtlplhhfcsth")
    public fun backupManagementType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.backupManagementType = mapped
    }

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("xvuqwjehndcaknbn")
    public fun backupManagementType(`value`: BackupManagementType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.backupManagementType = mapped
    }

    /**
     * @param value Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
     * Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
     * Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
     * Backup is VMAppContainer
     * Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
     */
    @JvmName("hjbpthvdgtnjyrio")
    public suspend fun containerType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.containerType = mapped
    }

    /**
     * @param value Friendly name of the container.
     */
    @JvmName("iihrsvnsamedadas")
    public suspend fun friendlyName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.friendlyName = mapped
    }

    /**
     * @param value Status of health of the container.
     */
    @JvmName("armywcsqowcueqbj")
    public suspend fun healthStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.healthStatus = mapped
    }

    /**
     * @param value Type of the protectable object associated with this container
     */
    @JvmName("newnuwvjrajmjjal")
    public suspend fun protectableObjectType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.protectableObjectType = mapped
    }

    /**
     * @param value Status of registration of the container with the Recovery Services Vault.
     */
    @JvmName("plnffamlqqupkasw")
    public suspend fun registrationStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.registrationStatus = mapped
    }

    /**
     * @param value Resource group name of Recovery Services Vault.
     */
    @JvmName("xetmkgftukdoajuv")
    public suspend fun resourceGroup(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroup = mapped
    }

    /**
     * @param value Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.
     */
    @JvmName("txmafcfnvprcswqe")
    public suspend fun virtualMachineId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.virtualMachineId = mapped
    }

    /**
     * @param value Specifies whether the container represents a Classic or an Azure Resource Manager VM.
     */
    @JvmName("aejhqbdfnwkndytv")
    public suspend fun virtualMachineVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.virtualMachineVersion = mapped
    }

    internal fun build(): AzureIaaSClassicComputeVMContainerArgs =
        AzureIaaSClassicComputeVMContainerArgs(
            backupManagementType = backupManagementType,
            containerType = containerType ?: throw PulumiNullFieldException("containerType"),
            friendlyName = friendlyName,
            healthStatus = healthStatus,
            protectableObjectType = protectableObjectType,
            registrationStatus = registrationStatus,
            resourceGroup = resourceGroup,
            virtualMachineId = virtualMachineId,
            virtualMachineVersion = virtualMachineVersion,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy