Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.recoveryservices.kotlin.inputs.AzureIaaSClassicComputeVMProtectedItemArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.recoveryservices.kotlin.inputs
import com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMProtectedItemArgs.builder
import com.pulumi.azurenative.recoveryservices.kotlin.enums.CreateMode
import com.pulumi.azurenative.recoveryservices.kotlin.enums.ProtectionState
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.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* IaaS VM workload-specific backup item representing the Classic Compute VM.
* @property backupSetName Name of the backup set the backup item belongs to
* @property containerName Unique name of container
* @property createMode Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
* @property deferredDeleteTimeInUTC Time for deferred deletion in UTC
* @property deferredDeleteTimeRemaining Time remaining before the DS marked for deferred delete is permanently deleted
* @property extendedInfo Additional information for this backup item.
* @property extendedProperties Extended Properties for Azure IaasVM Backup.
* @property isArchiveEnabled Flag to identify whether datasource is protected in archive
* @property isDeferredDeleteScheduleUpcoming Flag to identify whether the deferred deleted DS is to be purged soon
* @property isRehydrate Flag to identify that deferred deleted DS is to be moved into Pause state
* @property isScheduledForDeferredDelete Flag to identify whether the DS is scheduled for deferred delete
* @property kpisHealths Health details of different KPIs
* @property lastBackupStatus Last backup operation status.
* @property lastRecoveryPoint Timestamp when the last (latest) backup copy was created for this backup item.
* @property policyId ID of the backup policy with which this item is backed up.
* @property policyName Name of the policy used for protection
* @property protectedItemType backup item type.
* Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
* @property protectionState Backup state of this backup item.
* @property protectionStatus Backup status of this backup item.
* @property resourceGuardOperationRequests ResourceGuardOperationRequests on which LAC check will be performed
* @property softDeleteRetentionPeriodInDays Soft delete retention period in days
* @property sourceResourceId ARM ID of the resource to be backed up.
*/
public data class AzureIaaSClassicComputeVMProtectedItemArgs(
public val backupSetName: Output? = null,
public val containerName: Output? = null,
public val createMode: Output>? = null,
public val deferredDeleteTimeInUTC: Output? = null,
public val deferredDeleteTimeRemaining: Output? = null,
public val extendedInfo: Output? = null,
public val extendedProperties: Output? = null,
public val isArchiveEnabled: Output? = null,
public val isDeferredDeleteScheduleUpcoming: Output? = null,
public val isRehydrate: Output? = null,
public val isScheduledForDeferredDelete: Output? = null,
public val kpisHealths: Output>? = null,
public val lastBackupStatus: Output? = null,
public val lastRecoveryPoint: Output? = null,
public val policyId: Output? = null,
public val policyName: Output? = null,
public val protectedItemType: Output,
public val protectionState: Output>? = null,
public val protectionStatus: Output? = null,
public val resourceGuardOperationRequests: Output>? = null,
public val softDeleteRetentionPeriodInDays: Output? = null,
public val sourceResourceId: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMProtectedItemArgs =
com.pulumi.azurenative.recoveryservices.inputs.AzureIaaSClassicComputeVMProtectedItemArgs.builder()
.backupSetName(backupSetName?.applyValue({ args0 -> args0 }))
.containerName(containerName?.applyValue({ args0 -> args0 }))
.createMode(
createMode?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.deferredDeleteTimeInUTC(deferredDeleteTimeInUTC?.applyValue({ args0 -> args0 }))
.deferredDeleteTimeRemaining(deferredDeleteTimeRemaining?.applyValue({ args0 -> args0 }))
.extendedInfo(extendedInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.extendedProperties(
extendedProperties?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.isArchiveEnabled(isArchiveEnabled?.applyValue({ args0 -> args0 }))
.isDeferredDeleteScheduleUpcoming(isDeferredDeleteScheduleUpcoming?.applyValue({ args0 -> args0 }))
.isRehydrate(isRehydrate?.applyValue({ args0 -> args0 }))
.isScheduledForDeferredDelete(isScheduledForDeferredDelete?.applyValue({ args0 -> args0 }))
.kpisHealths(
kpisHealths?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
}).toMap()
}),
)
.lastBackupStatus(lastBackupStatus?.applyValue({ args0 -> args0 }))
.lastRecoveryPoint(lastRecoveryPoint?.applyValue({ args0 -> args0 }))
.policyId(policyId?.applyValue({ args0 -> args0 }))
.policyName(policyName?.applyValue({ args0 -> args0 }))
.protectedItemType(protectedItemType.applyValue({ args0 -> args0 }))
.protectionState(
protectionState?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.protectionStatus(protectionStatus?.applyValue({ args0 -> args0 }))
.resourceGuardOperationRequests(
resourceGuardOperationRequests?.applyValue({ args0 ->
args0.map({ args0 -> args0 })
}),
)
.softDeleteRetentionPeriodInDays(softDeleteRetentionPeriodInDays?.applyValue({ args0 -> args0 }))
.sourceResourceId(sourceResourceId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AzureIaaSClassicComputeVMProtectedItemArgs].
*/
@PulumiTagMarker
public class AzureIaaSClassicComputeVMProtectedItemArgsBuilder internal constructor() {
private var backupSetName: Output? = null
private var containerName: Output? = null
private var createMode: Output>? = null
private var deferredDeleteTimeInUTC: Output? = null
private var deferredDeleteTimeRemaining: Output? = null
private var extendedInfo: Output? = null
private var extendedProperties: Output? = null
private var isArchiveEnabled: Output? = null
private var isDeferredDeleteScheduleUpcoming: Output? = null
private var isRehydrate: Output? = null
private var isScheduledForDeferredDelete: Output? = null
private var kpisHealths: Output>? = null
private var lastBackupStatus: Output? = null
private var lastRecoveryPoint: Output? = null
private var policyId: Output? = null
private var policyName: Output? = null
private var protectedItemType: Output? = null
private var protectionState: Output>? = null
private var protectionStatus: Output? = null
private var resourceGuardOperationRequests: Output>? = null
private var softDeleteRetentionPeriodInDays: Output? = null
private var sourceResourceId: Output? = null
/**
* @param value Name of the backup set the backup item belongs to
*/
@JvmName("erokcxkiwthxcxed")
public suspend fun backupSetName(`value`: Output) {
this.backupSetName = value
}
/**
* @param value Unique name of container
*/
@JvmName("ahfxabdhwuyglwrh")
public suspend fun containerName(`value`: Output) {
this.containerName = value
}
/**
* @param value Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
*/
@JvmName("yiphavswkuxfncsl")
public suspend fun createMode(`value`: Output>) {
this.createMode = value
}
/**
* @param value Time for deferred deletion in UTC
*/
@JvmName("yhvtqarcoxfjfmvc")
public suspend fun deferredDeleteTimeInUTC(`value`: Output) {
this.deferredDeleteTimeInUTC = value
}
/**
* @param value Time remaining before the DS marked for deferred delete is permanently deleted
*/
@JvmName("bympnebotacdaqle")
public suspend fun deferredDeleteTimeRemaining(`value`: Output) {
this.deferredDeleteTimeRemaining = value
}
/**
* @param value Additional information for this backup item.
*/
@JvmName("lbecfllkrsjkxyqq")
public suspend fun extendedInfo(`value`: Output) {
this.extendedInfo = value
}
/**
* @param value Extended Properties for Azure IaasVM Backup.
*/
@JvmName("wltnelgrsnsmiybj")
public suspend fun extendedProperties(`value`: Output) {
this.extendedProperties = value
}
/**
* @param value Flag to identify whether datasource is protected in archive
*/
@JvmName("pxdqoebhypfjyktv")
public suspend fun isArchiveEnabled(`value`: Output) {
this.isArchiveEnabled = value
}
/**
* @param value Flag to identify whether the deferred deleted DS is to be purged soon
*/
@JvmName("cknjtwfxnaobmaia")
public suspend fun isDeferredDeleteScheduleUpcoming(`value`: Output) {
this.isDeferredDeleteScheduleUpcoming = value
}
/**
* @param value Flag to identify that deferred deleted DS is to be moved into Pause state
*/
@JvmName("xlnyloltmlnscaek")
public suspend fun isRehydrate(`value`: Output) {
this.isRehydrate = value
}
/**
* @param value Flag to identify whether the DS is scheduled for deferred delete
*/
@JvmName("jreiafyjkjtoeomk")
public suspend fun isScheduledForDeferredDelete(`value`: Output) {
this.isScheduledForDeferredDelete = value
}
/**
* @param value Health details of different KPIs
*/
@JvmName("ahmgtnmxatohwvcl")
public suspend fun kpisHealths(`value`: Output>) {
this.kpisHealths = value
}
/**
* @param value Last backup operation status.
*/
@JvmName("lllaadhstkmxfyyw")
public suspend fun lastBackupStatus(`value`: Output) {
this.lastBackupStatus = value
}
/**
* @param value Timestamp when the last (latest) backup copy was created for this backup item.
*/
@JvmName("rovjutbmdxnxyuvb")
public suspend fun lastRecoveryPoint(`value`: Output) {
this.lastRecoveryPoint = value
}
/**
* @param value ID of the backup policy with which this item is backed up.
*/
@JvmName("cjvgyfnipecsvrre")
public suspend fun policyId(`value`: Output) {
this.policyId = value
}
/**
* @param value Name of the policy used for protection
*/
@JvmName("pltooumgulxdibvw")
public suspend fun policyName(`value`: Output) {
this.policyName = value
}
/**
* @param value backup item type.
* Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
*/
@JvmName("mdcbmvwaalncfivn")
public suspend fun protectedItemType(`value`: Output) {
this.protectedItemType = value
}
/**
* @param value Backup state of this backup item.
*/
@JvmName("veaaqpotkbnjseqs")
public suspend fun protectionState(`value`: Output>) {
this.protectionState = value
}
/**
* @param value Backup status of this backup item.
*/
@JvmName("vgayxwjovmeupfsl")
public suspend fun protectionStatus(`value`: Output) {
this.protectionStatus = value
}
/**
* @param value ResourceGuardOperationRequests on which LAC check will be performed
*/
@JvmName("oepvxfxnrtrqjpkx")
public suspend fun resourceGuardOperationRequests(`value`: Output>) {
this.resourceGuardOperationRequests = value
}
@JvmName("bghmaekwleifgvxw")
public suspend fun resourceGuardOperationRequests(vararg values: Output) {
this.resourceGuardOperationRequests = Output.all(values.asList())
}
/**
* @param values ResourceGuardOperationRequests on which LAC check will be performed
*/
@JvmName("ypakykufbpwjfxaf")
public suspend fun resourceGuardOperationRequests(values: List>) {
this.resourceGuardOperationRequests = Output.all(values)
}
/**
* @param value Soft delete retention period in days
*/
@JvmName("cnkylawwbvcqyayx")
public suspend fun softDeleteRetentionPeriodInDays(`value`: Output) {
this.softDeleteRetentionPeriodInDays = value
}
/**
* @param value ARM ID of the resource to be backed up.
*/
@JvmName("fgvafypvgmysmrfw")
public suspend fun sourceResourceId(`value`: Output) {
this.sourceResourceId = value
}
/**
* @param value Name of the backup set the backup item belongs to
*/
@JvmName("uosrpxbqsaswfsoe")
public suspend fun backupSetName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.backupSetName = mapped
}
/**
* @param value Unique name of container
*/
@JvmName("ogkpcstuhvwskcww")
public suspend fun containerName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.containerName = mapped
}
/**
* @param value Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
*/
@JvmName("pdjuclftaypijctq")
public suspend fun createMode(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.createMode = mapped
}
/**
* @param value Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
*/
@JvmName("ifnlbeghjuigcqqg")
public fun createMode(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.createMode = mapped
}
/**
* @param value Create mode to indicate recovery of existing soft deleted data source or creation of new data source.
*/
@JvmName("jxrlyntterenwvpl")
public fun createMode(`value`: CreateMode) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.createMode = mapped
}
/**
* @param value Time for deferred deletion in UTC
*/
@JvmName("rvpvtyoaquidemik")
public suspend fun deferredDeleteTimeInUTC(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deferredDeleteTimeInUTC = mapped
}
/**
* @param value Time remaining before the DS marked for deferred delete is permanently deleted
*/
@JvmName("qqvojiytmbsdurnj")
public suspend fun deferredDeleteTimeRemaining(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deferredDeleteTimeRemaining = mapped
}
/**
* @param value Additional information for this backup item.
*/
@JvmName("ejtbjkihgoyeppqx")
public suspend fun extendedInfo(`value`: AzureIaaSVMProtectedItemExtendedInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.extendedInfo = mapped
}
/**
* @param argument Additional information for this backup item.
*/
@JvmName("dbaohmnwtgalgmrv")
public suspend fun extendedInfo(argument: suspend AzureIaaSVMProtectedItemExtendedInfoArgsBuilder.() -> Unit) {
val toBeMapped = AzureIaaSVMProtectedItemExtendedInfoArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.extendedInfo = mapped
}
/**
* @param value Extended Properties for Azure IaasVM Backup.
*/
@JvmName("drdrundifautyjyh")
public suspend fun extendedProperties(`value`: ExtendedPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.extendedProperties = mapped
}
/**
* @param argument Extended Properties for Azure IaasVM Backup.
*/
@JvmName("asdopxslgruthovf")
public suspend fun extendedProperties(argument: suspend ExtendedPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = ExtendedPropertiesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.extendedProperties = mapped
}
/**
* @param value Flag to identify whether datasource is protected in archive
*/
@JvmName("tigmcwlvrgvknrwn")
public suspend fun isArchiveEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.isArchiveEnabled = mapped
}
/**
* @param value Flag to identify whether the deferred deleted DS is to be purged soon
*/
@JvmName("htputpqinhyjiokk")
public suspend fun isDeferredDeleteScheduleUpcoming(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.isDeferredDeleteScheduleUpcoming = mapped
}
/**
* @param value Flag to identify that deferred deleted DS is to be moved into Pause state
*/
@JvmName("pmntilgnexxrajwt")
public suspend fun isRehydrate(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.isRehydrate = mapped
}
/**
* @param value Flag to identify whether the DS is scheduled for deferred delete
*/
@JvmName("axjukjwwrshujnop")
public suspend fun isScheduledForDeferredDelete(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.isScheduledForDeferredDelete = mapped
}
/**
* @param value Health details of different KPIs
*/
@JvmName("afarlajwpprulpvq")
public suspend fun kpisHealths(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kpisHealths = mapped
}
/**
* @param argument Health details of different KPIs
*/
@JvmName("xxnwjdkohufoxvhp")
public suspend fun kpisHealths(vararg argument: Pair Unit>) {
val toBeMapped = argument.toList().map { (left, right) ->
left to
KPIResourceHealthDetailsArgsBuilder().applySuspend { right() }.build()
}.toMap()
val mapped = of(toBeMapped)
this.kpisHealths = mapped
}
/**
* @param values Health details of different KPIs
*/
@JvmName("gdobkvhkurhqdfpp")
public fun kpisHealths(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.kpisHealths = mapped
}
/**
* @param value Last backup operation status.
*/
@JvmName("unglrcnhraokimph")
public suspend fun lastBackupStatus(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.lastBackupStatus = mapped
}
/**
* @param value Timestamp when the last (latest) backup copy was created for this backup item.
*/
@JvmName("umjitknekoaxkcgr")
public suspend fun lastRecoveryPoint(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.lastRecoveryPoint = mapped
}
/**
* @param value ID of the backup policy with which this item is backed up.
*/
@JvmName("druurouvdiqdjnwc")
public suspend fun policyId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.policyId = mapped
}
/**
* @param value Name of the policy used for protection
*/
@JvmName("orutuyqqiofepipm")
public suspend fun policyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.policyName = mapped
}
/**
* @param value backup item type.
* Expected value is 'Microsoft.ClassicCompute/virtualMachines'.
*/
@JvmName("ralmaqfllqjaehvw")
public suspend fun protectedItemType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.protectedItemType = mapped
}
/**
* @param value Backup state of this backup item.
*/
@JvmName("otbapdoytnhpfeif")
public suspend fun protectionState(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protectionState = mapped
}
/**
* @param value Backup state of this backup item.
*/
@JvmName("wlunpjmtnwqxhqqw")
public fun protectionState(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.protectionState = mapped
}
/**
* @param value Backup state of this backup item.
*/
@JvmName("gxgvlhruaabscnkb")
public fun protectionState(`value`: ProtectionState) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.protectionState = mapped
}
/**
* @param value Backup status of this backup item.
*/
@JvmName("ivtjjmmfeqfniquj")
public suspend fun protectionStatus(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protectionStatus = mapped
}
/**
* @param value ResourceGuardOperationRequests on which LAC check will be performed
*/
@JvmName("wwneiwlesbqpfusg")
public suspend fun resourceGuardOperationRequests(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGuardOperationRequests = mapped
}
/**
* @param values ResourceGuardOperationRequests on which LAC check will be performed
*/
@JvmName("pppvmmhbncrgmcvs")
public suspend fun resourceGuardOperationRequests(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.resourceGuardOperationRequests = mapped
}
/**
* @param value Soft delete retention period in days
*/
@JvmName("fnaeeipnlvikcipn")
public suspend fun softDeleteRetentionPeriodInDays(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.softDeleteRetentionPeriodInDays = mapped
}
/**
* @param value ARM ID of the resource to be backed up.
*/
@JvmName("yuepoprgwskueidg")
public suspend fun sourceResourceId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceResourceId = mapped
}
internal fun build(): AzureIaaSClassicComputeVMProtectedItemArgs =
AzureIaaSClassicComputeVMProtectedItemArgs(
backupSetName = backupSetName,
containerName = containerName,
createMode = createMode,
deferredDeleteTimeInUTC = deferredDeleteTimeInUTC,
deferredDeleteTimeRemaining = deferredDeleteTimeRemaining,
extendedInfo = extendedInfo,
extendedProperties = extendedProperties,
isArchiveEnabled = isArchiveEnabled,
isDeferredDeleteScheduleUpcoming = isDeferredDeleteScheduleUpcoming,
isRehydrate = isRehydrate,
isScheduledForDeferredDelete = isScheduledForDeferredDelete,
kpisHealths = kpisHealths,
lastBackupStatus = lastBackupStatus,
lastRecoveryPoint = lastRecoveryPoint,
policyId = policyId,
policyName = policyName,
protectedItemType = protectedItemType ?: throw PulumiNullFieldException("protectedItemType"),
protectionState = protectionState,
protectionStatus = protectionStatus,
resourceGuardOperationRequests = resourceGuardOperationRequests,
softDeleteRetentionPeriodInDays = softDeleteRetentionPeriodInDays,
sourceResourceId = sourceResourceId,
)
}