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

com.pulumi.azurenative.recoveryservices.kotlin.inputs.SharedDiskReplicationItemPropertiesArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.azurenative.recoveryservices.inputs.SharedDiskReplicationItemPropertiesArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Shared Disk Replication item custom data details.
 * @property activeLocation The Current active location of the PE.
 * @property allowedOperations The allowed operations on the Replication protected item.
 * @property currentScenario The current scenario.
 * @property healthErrors List of health errors.
 * @property protectionState The protection state of shared disk.
 * @property replicationHealth The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.
 * @property sharedDiskProviderSpecificDetails The Replication provider custom settings.
 * @property testFailoverState The tfo state of shared disk.
 */
public data class SharedDiskReplicationItemPropertiesArgs(
    public val activeLocation: Output? = null,
    public val allowedOperations: Output>? = null,
    public val currentScenario: Output? = null,
    public val healthErrors: Output>? = null,
    public val protectionState: Output? = null,
    public val replicationHealth: Output? = null,
    public val sharedDiskProviderSpecificDetails: Output? = null,
    public val testFailoverState: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.SharedDiskReplicationItemPropertiesArgs =
        com.pulumi.azurenative.recoveryservices.inputs.SharedDiskReplicationItemPropertiesArgs.builder()
            .activeLocation(activeLocation?.applyValue({ args0 -> args0 }))
            .allowedOperations(allowedOperations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .currentScenario(currentScenario?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .healthErrors(
                healthErrors?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .protectionState(protectionState?.applyValue({ args0 -> args0 }))
            .replicationHealth(replicationHealth?.applyValue({ args0 -> args0 }))
            .sharedDiskProviderSpecificDetails(
                sharedDiskProviderSpecificDetails?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .testFailoverState(testFailoverState?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [SharedDiskReplicationItemPropertiesArgs].
 */
@PulumiTagMarker
public class SharedDiskReplicationItemPropertiesArgsBuilder internal constructor() {
    private var activeLocation: Output? = null

    private var allowedOperations: Output>? = null

    private var currentScenario: Output? = null

    private var healthErrors: Output>? = null

    private var protectionState: Output? = null

    private var replicationHealth: Output? = null

    private var sharedDiskProviderSpecificDetails: Output? = null

    private var testFailoverState: Output? = null

    /**
     * @param value The Current active location of the PE.
     */
    @JvmName("rgunbcpoelyngcpt")
    public suspend fun activeLocation(`value`: Output) {
        this.activeLocation = value
    }

    /**
     * @param value The allowed operations on the Replication protected item.
     */
    @JvmName("rkymswddxjqxkwis")
    public suspend fun allowedOperations(`value`: Output>) {
        this.allowedOperations = value
    }

    @JvmName("ltihueivipqkaicy")
    public suspend fun allowedOperations(vararg values: Output) {
        this.allowedOperations = Output.all(values.asList())
    }

    /**
     * @param values The allowed operations on the Replication protected item.
     */
    @JvmName("eeesucbwniwexatx")
    public suspend fun allowedOperations(values: List>) {
        this.allowedOperations = Output.all(values)
    }

    /**
     * @param value The current scenario.
     */
    @JvmName("ukdmqahqesaiqvtj")
    public suspend fun currentScenario(`value`: Output) {
        this.currentScenario = value
    }

    /**
     * @param value List of health errors.
     */
    @JvmName("uvexagmniljmykkf")
    public suspend fun healthErrors(`value`: Output>) {
        this.healthErrors = value
    }

    @JvmName("uuwbluqwdfdulqra")
    public suspend fun healthErrors(vararg values: Output) {
        this.healthErrors = Output.all(values.asList())
    }

    /**
     * @param values List of health errors.
     */
    @JvmName("flgaoqspfqubcqph")
    public suspend fun healthErrors(values: List>) {
        this.healthErrors = Output.all(values)
    }

    /**
     * @param value The protection state of shared disk.
     */
    @JvmName("cxghqolxmrhsviuq")
    public suspend fun protectionState(`value`: Output) {
        this.protectionState = value
    }

    /**
     * @param value The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.
     */
    @JvmName("lxqekuolmpksdgxx")
    public suspend fun replicationHealth(`value`: Output) {
        this.replicationHealth = value
    }

    /**
     * @param value The Replication provider custom settings.
     */
    @JvmName("spnrmnajdqcydeec")
    public suspend fun sharedDiskProviderSpecificDetails(`value`: Output) {
        this.sharedDiskProviderSpecificDetails = value
    }

    /**
     * @param value The tfo state of shared disk.
     */
    @JvmName("yrysyrkdjuhcrsde")
    public suspend fun testFailoverState(`value`: Output) {
        this.testFailoverState = value
    }

    /**
     * @param value The Current active location of the PE.
     */
    @JvmName("indtxxqqxksndsoe")
    public suspend fun activeLocation(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.activeLocation = mapped
    }

    /**
     * @param value The allowed operations on the Replication protected item.
     */
    @JvmName("besiyvwosjqjrgik")
    public suspend fun allowedOperations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowedOperations = mapped
    }

    /**
     * @param values The allowed operations on the Replication protected item.
     */
    @JvmName("gvbhgnhytxpwurrr")
    public suspend fun allowedOperations(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedOperations = mapped
    }

    /**
     * @param value The current scenario.
     */
    @JvmName("fljdofduanukmoaq")
    public suspend fun currentScenario(`value`: CurrentScenarioDetailsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.currentScenario = mapped
    }

    /**
     * @param argument The current scenario.
     */
    @JvmName("dhcwwmrsanbmodnp")
    public suspend fun currentScenario(argument: suspend CurrentScenarioDetailsArgsBuilder.() -> Unit) {
        val toBeMapped = CurrentScenarioDetailsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.currentScenario = mapped
    }

    /**
     * @param value List of health errors.
     */
    @JvmName("umkqptenrerarxwk")
    public suspend fun healthErrors(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.healthErrors = mapped
    }

    /**
     * @param argument List of health errors.
     */
    @JvmName("krrkbbkgmyjftwhw")
    public suspend fun healthErrors(argument: List Unit>) {
        val toBeMapped = argument.toList().map { HealthErrorArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.healthErrors = mapped
    }

    /**
     * @param argument List of health errors.
     */
    @JvmName("yadstnjcnvyvhtca")
    public suspend fun healthErrors(vararg argument: suspend HealthErrorArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map { HealthErrorArgsBuilder().applySuspend { it() }.build() }
        val mapped = of(toBeMapped)
        this.healthErrors = mapped
    }

    /**
     * @param argument List of health errors.
     */
    @JvmName("oqhxsbfpcvhrlmyk")
    public suspend fun healthErrors(argument: suspend HealthErrorArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(HealthErrorArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.healthErrors = mapped
    }

    /**
     * @param values List of health errors.
     */
    @JvmName("hsqdynjidchmrbtp")
    public suspend fun healthErrors(vararg values: HealthErrorArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.healthErrors = mapped
    }

    /**
     * @param value The protection state of shared disk.
     */
    @JvmName("iajaarfhjixnwsin")
    public suspend fun protectionState(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.protectionState = mapped
    }

    /**
     * @param value The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.
     */
    @JvmName("cnmrnahgbeoprobt")
    public suspend fun replicationHealth(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.replicationHealth = mapped
    }

    /**
     * @param value The Replication provider custom settings.
     */
    @JvmName("kegylaquujvcjwus")
    public suspend fun sharedDiskProviderSpecificDetails(`value`: A2ASharedDiskReplicationDetailsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sharedDiskProviderSpecificDetails = mapped
    }

    /**
     * @param argument The Replication provider custom settings.
     */
    @JvmName("mygoufkadsyrmohd")
    public suspend fun sharedDiskProviderSpecificDetails(argument: suspend A2ASharedDiskReplicationDetailsArgsBuilder.() -> Unit) {
        val toBeMapped = A2ASharedDiskReplicationDetailsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.sharedDiskProviderSpecificDetails = mapped
    }

    /**
     * @param value The tfo state of shared disk.
     */
    @JvmName("yjmdwsamkybwxrbl")
    public suspend fun testFailoverState(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.testFailoverState = mapped
    }

    internal fun build(): SharedDiskReplicationItemPropertiesArgs =
        SharedDiskReplicationItemPropertiesArgs(
            activeLocation = activeLocation,
            allowedOperations = allowedOperations,
            currentScenario = currentScenario,
            healthErrors = healthErrors,
            protectionState = protectionState,
            replicationHealth = replicationHealth,
            sharedDiskProviderSpecificDetails = sharedDiskProviderSpecificDetails,
            testFailoverState = testFailoverState,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy