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

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

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

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

import com.pulumi.azurenative.recoveryservices.inputs.AzureWorkloadContainerArgs.builder
import com.pulumi.azurenative.recoveryservices.kotlin.enums.BackupManagementType
import com.pulumi.azurenative.recoveryservices.kotlin.enums.OperationType
import com.pulumi.azurenative.recoveryservices.kotlin.enums.WorkloadType
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 com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Container for the workloads running inside Azure Compute or Classic Compute.
 * @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 'AzureWorkloadContainer'.
 * @property extendedInfo Additional details of a workload container.
 * @property friendlyName Friendly name of the container.
 * @property healthStatus Status of health of the container.
 * @property lastUpdatedTime Time stamp when this container was updated.
 * @property operationType Re-Do Operation
 * @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 sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container
 * @property workloadType Workload type for which registration was sent.
 */
public data class AzureWorkloadContainerArgs(
    public val backupManagementType: Output>? = null,
    public val containerType: Output,
    public val extendedInfo: Output? = null,
    public val friendlyName: Output? = null,
    public val healthStatus: Output? = null,
    public val lastUpdatedTime: Output? = null,
    public val operationType: Output>? = null,
    public val protectableObjectType: Output? = null,
    public val registrationStatus: Output? = null,
    public val sourceResourceId: Output? = null,
    public val workloadType: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.AzureWorkloadContainerArgs =
        com.pulumi.azurenative.recoveryservices.inputs.AzureWorkloadContainerArgs.builder()
            .backupManagementType(
                backupManagementType?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .containerType(containerType.applyValue({ args0 -> args0 }))
            .extendedInfo(extendedInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .friendlyName(friendlyName?.applyValue({ args0 -> args0 }))
            .healthStatus(healthStatus?.applyValue({ args0 -> args0 }))
            .lastUpdatedTime(lastUpdatedTime?.applyValue({ args0 -> args0 }))
            .operationType(
                operationType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .protectableObjectType(protectableObjectType?.applyValue({ args0 -> args0 }))
            .registrationStatus(registrationStatus?.applyValue({ args0 -> args0 }))
            .sourceResourceId(sourceResourceId?.applyValue({ args0 -> args0 }))
            .workloadType(
                workloadType?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

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

    private var containerType: Output? = null

    private var extendedInfo: Output? = null

    private var friendlyName: Output? = null

    private var healthStatus: Output? = null

    private var lastUpdatedTime: Output? = null

    private var operationType: Output>? = null

    private var protectableObjectType: Output? = null

    private var registrationStatus: Output? = null

    private var sourceResourceId: Output? = null

    private var workloadType: Output>? = null

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("ubslagnsxvplinap")
    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 'AzureWorkloadContainer'.
     */
    @JvmName("agwkmarurewjnahs")
    public suspend fun containerType(`value`: Output) {
        this.containerType = value
    }

    /**
     * @param value Additional details of a workload container.
     */
    @JvmName("icpfylxlnmunjhhp")
    public suspend fun extendedInfo(`value`: Output) {
        this.extendedInfo = value
    }

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

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

    /**
     * @param value Time stamp when this container was updated.
     */
    @JvmName("ifixrjfibxvwsrbl")
    public suspend fun lastUpdatedTime(`value`: Output) {
        this.lastUpdatedTime = value
    }

    /**
     * @param value Re-Do Operation
     */
    @JvmName("ddnfvhndiijhayoq")
    public suspend fun operationType(`value`: Output>) {
        this.operationType = value
    }

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

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

    /**
     * @param value ARM ID of the virtual machine represented by this Azure Workload Container
     */
    @JvmName("unmwowryftclhits")
    public suspend fun sourceResourceId(`value`: Output) {
        this.sourceResourceId = value
    }

    /**
     * @param value Workload type for which registration was sent.
     */
    @JvmName("grjqgekbcpyxjiae")
    public suspend fun workloadType(`value`: Output>) {
        this.workloadType = value
    }

    /**
     * @param value Type of backup management for the container.
     */
    @JvmName("pnhavjgsvwpjuyfo")
    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("qnsftbifqleivoub")
    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("yvkasmwibqiktdub")
    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 'AzureWorkloadContainer'.
     */
    @JvmName("hksjdrkbhjvfistp")
    public suspend fun containerType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.containerType = mapped
    }

    /**
     * @param value Additional details of a workload container.
     */
    @JvmName("vwcxdjeaefsvlcbk")
    public suspend fun extendedInfo(`value`: AzureWorkloadContainerExtendedInfoArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.extendedInfo = mapped
    }

    /**
     * @param argument Additional details of a workload container.
     */
    @JvmName("dqqwscpafqhnupst")
    public suspend fun extendedInfo(argument: suspend AzureWorkloadContainerExtendedInfoArgsBuilder.() -> Unit) {
        val toBeMapped = AzureWorkloadContainerExtendedInfoArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.extendedInfo = mapped
    }

    /**
     * @param value Friendly name of the container.
     */
    @JvmName("tyuspcigvacbgrnc")
    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("wwfmearyhsnyjlwn")
    public suspend fun healthStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.healthStatus = mapped
    }

    /**
     * @param value Time stamp when this container was updated.
     */
    @JvmName("fomvhcariaqwiklc")
    public suspend fun lastUpdatedTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lastUpdatedTime = mapped
    }

    /**
     * @param value Re-Do Operation
     */
    @JvmName("gvgppvetojeclgwg")
    public suspend fun operationType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.operationType = mapped
    }

    /**
     * @param value Re-Do Operation
     */
    @JvmName("hjkqawrubhybawup")
    public fun operationType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.operationType = mapped
    }

    /**
     * @param value Re-Do Operation
     */
    @JvmName("bxxgqqepdxvcvscy")
    public fun operationType(`value`: OperationType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.operationType = mapped
    }

    /**
     * @param value Type of the protectable object associated with this container
     */
    @JvmName("hbywpigmohixlspe")
    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("hpsfkmkbhioitgjt")
    public suspend fun registrationStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.registrationStatus = mapped
    }

    /**
     * @param value ARM ID of the virtual machine represented by this Azure Workload Container
     */
    @JvmName("awigdtffgwlvvwpq")
    public suspend fun sourceResourceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceResourceId = mapped
    }

    /**
     * @param value Workload type for which registration was sent.
     */
    @JvmName("jjdwtojxmjvihynj")
    public suspend fun workloadType(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workloadType = mapped
    }

    /**
     * @param value Workload type for which registration was sent.
     */
    @JvmName("dtodrpticrffluev")
    public fun workloadType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.workloadType = mapped
    }

    /**
     * @param value Workload type for which registration was sent.
     */
    @JvmName("dvssnjcuibvuebct")
    public fun workloadType(`value`: WorkloadType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.workloadType = mapped
    }

    internal fun build(): AzureWorkloadContainerArgs = AzureWorkloadContainerArgs(
        backupManagementType = backupManagementType,
        containerType = containerType ?: throw PulumiNullFieldException("containerType"),
        extendedInfo = extendedInfo,
        friendlyName = friendlyName,
        healthStatus = healthStatus,
        lastUpdatedTime = lastUpdatedTime,
        operationType = operationType,
        protectableObjectType = protectableObjectType,
        registrationStatus = registrationStatus,
        sourceResourceId = sourceResourceId,
        workloadType = workloadType,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy