
com.pulumi.azurenative.recoveryservices.kotlin.inputs.A2AEnableProtectionInputArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.recoveryservices.kotlin.inputs
import com.pulumi.azurenative.recoveryservices.inputs.A2AEnableProtectionInputArgs.builder
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.collections.List
import kotlin.jvm.JvmName
/**
* A2A enable protection input.
* @property diskEncryptionInfo The recovery disk encryption information (for two pass flows).
* @property fabricObjectId The fabric specific object Id of the virtual machine.
* @property instanceType The class type.
* Expected value is 'A2A'.
* @property multiVmGroupId The multi vm group id.
* @property multiVmGroupName The multi vm group name.
* @property recoveryAvailabilitySetId The recovery availability set Id.
* @property recoveryAvailabilityZone The recovery availability zone.
* @property recoveryAzureNetworkId The recovery Azure virtual network ARM id.
* @property recoveryBootDiagStorageAccountId The boot diagnostic storage account.
* @property recoveryCapacityReservationGroupId The recovery capacity reservation group Id.
* @property recoveryCloudServiceId The recovery cloud service Id. Valid for V1 scenarios.
* @property recoveryContainerId The recovery container Id.
* @property recoveryExtendedLocation The recovery extended location.
* @property recoveryProximityPlacementGroupId The recovery proximity placement group Id.
* @property recoveryResourceGroupId The recovery resource group Id. Valid for V2 scenarios.
* @property recoverySubnetName The recovery subnet name.
* @property recoveryVirtualMachineScaleSetId The virtual machine scale set Id.
* @property vmDisks The list of vm disk details.
* @property vmManagedDisks The list of vm managed disk details.
*/
public data class A2AEnableProtectionInputArgs(
public val diskEncryptionInfo: Output? = null,
public val fabricObjectId: Output,
public val instanceType: Output,
public val multiVmGroupId: Output? = null,
public val multiVmGroupName: Output? = null,
public val recoveryAvailabilitySetId: Output? = null,
public val recoveryAvailabilityZone: Output? = null,
public val recoveryAzureNetworkId: Output? = null,
public val recoveryBootDiagStorageAccountId: Output? = null,
public val recoveryCapacityReservationGroupId: Output? = null,
public val recoveryCloudServiceId: Output? = null,
public val recoveryContainerId: Output? = null,
public val recoveryExtendedLocation: Output? = null,
public val recoveryProximityPlacementGroupId: Output? = null,
public val recoveryResourceGroupId: Output? = null,
public val recoverySubnetName: Output? = null,
public val recoveryVirtualMachineScaleSetId: Output? = null,
public val vmDisks: Output>? = null,
public val vmManagedDisks: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.A2AEnableProtectionInputArgs = com.pulumi.azurenative.recoveryservices.inputs.A2AEnableProtectionInputArgs.builder()
.diskEncryptionInfo(
diskEncryptionInfo?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.fabricObjectId(fabricObjectId.applyValue({ args0 -> args0 }))
.instanceType(instanceType.applyValue({ args0 -> args0 }))
.multiVmGroupId(multiVmGroupId?.applyValue({ args0 -> args0 }))
.multiVmGroupName(multiVmGroupName?.applyValue({ args0 -> args0 }))
.recoveryAvailabilitySetId(recoveryAvailabilitySetId?.applyValue({ args0 -> args0 }))
.recoveryAvailabilityZone(recoveryAvailabilityZone?.applyValue({ args0 -> args0 }))
.recoveryAzureNetworkId(recoveryAzureNetworkId?.applyValue({ args0 -> args0 }))
.recoveryBootDiagStorageAccountId(recoveryBootDiagStorageAccountId?.applyValue({ args0 -> args0 }))
.recoveryCapacityReservationGroupId(
recoveryCapacityReservationGroupId?.applyValue({ args0 ->
args0
}),
)
.recoveryCloudServiceId(recoveryCloudServiceId?.applyValue({ args0 -> args0 }))
.recoveryContainerId(recoveryContainerId?.applyValue({ args0 -> args0 }))
.recoveryExtendedLocation(
recoveryExtendedLocation?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.recoveryProximityPlacementGroupId(
recoveryProximityPlacementGroupId?.applyValue({ args0 ->
args0
}),
)
.recoveryResourceGroupId(recoveryResourceGroupId?.applyValue({ args0 -> args0 }))
.recoverySubnetName(recoverySubnetName?.applyValue({ args0 -> args0 }))
.recoveryVirtualMachineScaleSetId(recoveryVirtualMachineScaleSetId?.applyValue({ args0 -> args0 }))
.vmDisks(
vmDisks?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.vmManagedDisks(
vmManagedDisks?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [A2AEnableProtectionInputArgs].
*/
@PulumiTagMarker
public class A2AEnableProtectionInputArgsBuilder internal constructor() {
private var diskEncryptionInfo: Output? = null
private var fabricObjectId: Output? = null
private var instanceType: Output? = null
private var multiVmGroupId: Output? = null
private var multiVmGroupName: Output? = null
private var recoveryAvailabilitySetId: Output? = null
private var recoveryAvailabilityZone: Output? = null
private var recoveryAzureNetworkId: Output? = null
private var recoveryBootDiagStorageAccountId: Output? = null
private var recoveryCapacityReservationGroupId: Output? = null
private var recoveryCloudServiceId: Output? = null
private var recoveryContainerId: Output? = null
private var recoveryExtendedLocation: Output? = null
private var recoveryProximityPlacementGroupId: Output? = null
private var recoveryResourceGroupId: Output? = null
private var recoverySubnetName: Output? = null
private var recoveryVirtualMachineScaleSetId: Output? = null
private var vmDisks: Output>? = null
private var vmManagedDisks: Output>? = null
/**
* @param value The recovery disk encryption information (for two pass flows).
*/
@JvmName("bhbedrahdjyvsxmy")
public suspend fun diskEncryptionInfo(`value`: Output) {
this.diskEncryptionInfo = value
}
/**
* @param value The fabric specific object Id of the virtual machine.
*/
@JvmName("xfqgalgarstnlils")
public suspend fun fabricObjectId(`value`: Output) {
this.fabricObjectId = value
}
/**
* @param value The class type.
* Expected value is 'A2A'.
*/
@JvmName("tyqttebxtooqegpc")
public suspend fun instanceType(`value`: Output) {
this.instanceType = value
}
/**
* @param value The multi vm group id.
*/
@JvmName("fyjstffxjscmiivn")
public suspend fun multiVmGroupId(`value`: Output) {
this.multiVmGroupId = value
}
/**
* @param value The multi vm group name.
*/
@JvmName("knhyghkcpbvcvcab")
public suspend fun multiVmGroupName(`value`: Output) {
this.multiVmGroupName = value
}
/**
* @param value The recovery availability set Id.
*/
@JvmName("wumbwvcummwnocgs")
public suspend fun recoveryAvailabilitySetId(`value`: Output) {
this.recoveryAvailabilitySetId = value
}
/**
* @param value The recovery availability zone.
*/
@JvmName("xtqpatanvrmijkft")
public suspend fun recoveryAvailabilityZone(`value`: Output) {
this.recoveryAvailabilityZone = value
}
/**
* @param value The recovery Azure virtual network ARM id.
*/
@JvmName("pkwetlbxycrbfqbg")
public suspend fun recoveryAzureNetworkId(`value`: Output) {
this.recoveryAzureNetworkId = value
}
/**
* @param value The boot diagnostic storage account.
*/
@JvmName("jhnjknyyamxdnflm")
public suspend fun recoveryBootDiagStorageAccountId(`value`: Output) {
this.recoveryBootDiagStorageAccountId = value
}
/**
* @param value The recovery capacity reservation group Id.
*/
@JvmName("pbqyjomqasymrybr")
public suspend fun recoveryCapacityReservationGroupId(`value`: Output) {
this.recoveryCapacityReservationGroupId = value
}
/**
* @param value The recovery cloud service Id. Valid for V1 scenarios.
*/
@JvmName("ywvvatmtudlfnyyg")
public suspend fun recoveryCloudServiceId(`value`: Output) {
this.recoveryCloudServiceId = value
}
/**
* @param value The recovery container Id.
*/
@JvmName("ugpctjrgehrytawb")
public suspend fun recoveryContainerId(`value`: Output) {
this.recoveryContainerId = value
}
/**
* @param value The recovery extended location.
*/
@JvmName("frlgyjvevmwxyftw")
public suspend fun recoveryExtendedLocation(`value`: Output) {
this.recoveryExtendedLocation = value
}
/**
* @param value The recovery proximity placement group Id.
*/
@JvmName("ffaqfdivvtcnxvda")
public suspend fun recoveryProximityPlacementGroupId(`value`: Output) {
this.recoveryProximityPlacementGroupId = value
}
/**
* @param value The recovery resource group Id. Valid for V2 scenarios.
*/
@JvmName("wybracohtovhexpy")
public suspend fun recoveryResourceGroupId(`value`: Output) {
this.recoveryResourceGroupId = value
}
/**
* @param value The recovery subnet name.
*/
@JvmName("giwctouqaumtitoi")
public suspend fun recoverySubnetName(`value`: Output) {
this.recoverySubnetName = value
}
/**
* @param value The virtual machine scale set Id.
*/
@JvmName("gvrlsmnlnpgjwbru")
public suspend fun recoveryVirtualMachineScaleSetId(`value`: Output) {
this.recoveryVirtualMachineScaleSetId = value
}
/**
* @param value The list of vm disk details.
*/
@JvmName("ufxwathtbookfpbx")
public suspend fun vmDisks(`value`: Output>) {
this.vmDisks = value
}
@JvmName("dprvexskmmhfoucg")
public suspend fun vmDisks(vararg values: Output) {
this.vmDisks = Output.all(values.asList())
}
/**
* @param values The list of vm disk details.
*/
@JvmName("cdaltqbnoyongylk")
public suspend fun vmDisks(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy