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

com.pulumi.azurenative.recoveryservices.kotlin.outputs.AzureVmWorkloadProtectedItemResponse.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.recoveryservices.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 * Azure VM workload-specific protected item.
 * @property backupManagementType Type of backup management for the backed up item.
 * @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 friendlyName Friendly name of the DB represented by this backup item.
 * @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 lastBackupErrorDetail Error details in last backup
 * @property lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy.
 * @property lastBackupTime Timestamp of the last backup operation on this backup item.
 * @property lastRecoveryPoint Timestamp when the last (latest) backup copy was created for this backup item.
 * @property nodesList List of the nodes in case of distributed container.
 * @property parentName Parent name of the DB such as Instance or Availability Group.
 * @property parentType Parent type of protected item, example: for a DB, standalone server or distributed
 * @property policyId ID of the backup policy with which this item is backed up.
 * @property policyName Name of the policy used for protection
 * @property protectedItemDataSourceId Data ID of the protected item.
 * @property protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received
 * @property protectedItemType backup item type.
 * Expected value is 'AzureVmWorkloadProtectedItem'.
 * @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 serverName Host/Cluster Name for instance or AG
 * @property softDeleteRetentionPeriodInDays Soft delete retention period in days
 * @property sourceResourceId ARM ID of the resource to be backed up.
 * @property vaultId ID of the vault which protects this item
 * @property workloadType Type of workload this item represents.
 */
public data class AzureVmWorkloadProtectedItemResponse(
    public val backupManagementType: String,
    public val backupSetName: String? = null,
    public val containerName: String? = null,
    public val createMode: String? = null,
    public val deferredDeleteTimeInUTC: String? = null,
    public val deferredDeleteTimeRemaining: String? = null,
    public val extendedInfo: AzureVmWorkloadProtectedItemExtendedInfoResponse? = null,
    public val friendlyName: String,
    public val isArchiveEnabled: Boolean? = null,
    public val isDeferredDeleteScheduleUpcoming: Boolean? = null,
    public val isRehydrate: Boolean? = null,
    public val isScheduledForDeferredDelete: Boolean? = null,
    public val kpisHealths: Map? = null,
    public val lastBackupErrorDetail: ErrorDetailResponse? = null,
    public val lastBackupStatus: String? = null,
    public val lastBackupTime: String? = null,
    public val lastRecoveryPoint: String? = null,
    public val nodesList: List? = null,
    public val parentName: String? = null,
    public val parentType: String? = null,
    public val policyId: String? = null,
    public val policyName: String? = null,
    public val protectedItemDataSourceId: String? = null,
    public val protectedItemHealthStatus: String? = null,
    public val protectedItemType: String,
    public val protectionState: String? = null,
    public val protectionStatus: String,
    public val resourceGuardOperationRequests: List? = null,
    public val serverName: String? = null,
    public val softDeleteRetentionPeriodInDays: Int? = null,
    public val sourceResourceId: String? = null,
    public val vaultId: String,
    public val workloadType: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azurenative.recoveryservices.outputs.AzureVmWorkloadProtectedItemResponse): AzureVmWorkloadProtectedItemResponse = AzureVmWorkloadProtectedItemResponse(
            backupManagementType = javaType.backupManagementType(),
            backupSetName = javaType.backupSetName().map({ args0 -> args0 }).orElse(null),
            containerName = javaType.containerName().map({ args0 -> args0 }).orElse(null),
            createMode = javaType.createMode().map({ args0 -> args0 }).orElse(null),
            deferredDeleteTimeInUTC = javaType.deferredDeleteTimeInUTC().map({ args0 -> args0 }).orElse(null),
            deferredDeleteTimeRemaining = javaType.deferredDeleteTimeRemaining().map({ args0 ->
                args0
            }).orElse(null),
            extendedInfo = javaType.extendedInfo().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.recoveryservices.kotlin.outputs.AzureVmWorkloadProtectedItemExtendedInfoResponse.Companion.toKotlin(args0)
                })
            }).orElse(null),
            friendlyName = javaType.friendlyName(),
            isArchiveEnabled = javaType.isArchiveEnabled().map({ args0 -> args0 }).orElse(null),
            isDeferredDeleteScheduleUpcoming = javaType.isDeferredDeleteScheduleUpcoming().map({ args0 ->
                args0
            }).orElse(null),
            isRehydrate = javaType.isRehydrate().map({ args0 -> args0 }).orElse(null),
            isScheduledForDeferredDelete = javaType.isScheduledForDeferredDelete().map({ args0 ->
                args0
            }).orElse(null),
            kpisHealths = javaType.kpisHealths().map({ args0 ->
                args0.key.to(
                    args0.value.let({ args0 ->
                        com.pulumi.azurenative.recoveryservices.kotlin.outputs.KPIResourceHealthDetailsResponse.Companion.toKotlin(args0)
                    }),
                )
            }).toMap(),
            lastBackupErrorDetail = javaType.lastBackupErrorDetail().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.recoveryservices.kotlin.outputs.ErrorDetailResponse.Companion.toKotlin(args0)
                })
            }).orElse(null),
            lastBackupStatus = javaType.lastBackupStatus().map({ args0 -> args0 }).orElse(null),
            lastBackupTime = javaType.lastBackupTime().map({ args0 -> args0 }).orElse(null),
            lastRecoveryPoint = javaType.lastRecoveryPoint().map({ args0 -> args0 }).orElse(null),
            nodesList = javaType.nodesList().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azurenative.recoveryservices.kotlin.outputs.DistributedNodesInfoResponse.Companion.toKotlin(args0)
                })
            }),
            parentName = javaType.parentName().map({ args0 -> args0 }).orElse(null),
            parentType = javaType.parentType().map({ args0 -> args0 }).orElse(null),
            policyId = javaType.policyId().map({ args0 -> args0 }).orElse(null),
            policyName = javaType.policyName().map({ args0 -> args0 }).orElse(null),
            protectedItemDataSourceId = javaType.protectedItemDataSourceId().map({ args0 ->
                args0
            }).orElse(null),
            protectedItemHealthStatus = javaType.protectedItemHealthStatus().map({ args0 ->
                args0
            }).orElse(null),
            protectedItemType = javaType.protectedItemType(),
            protectionState = javaType.protectionState().map({ args0 -> args0 }).orElse(null),
            protectionStatus = javaType.protectionStatus(),
            resourceGuardOperationRequests = javaType.resourceGuardOperationRequests().map({ args0 -> args0 }),
            serverName = javaType.serverName().map({ args0 -> args0 }).orElse(null),
            softDeleteRetentionPeriodInDays = javaType.softDeleteRetentionPeriodInDays().map({ args0 ->
                args0
            }).orElse(null),
            sourceResourceId = javaType.sourceResourceId().map({ args0 -> args0 }).orElse(null),
            vaultId = javaType.vaultId(),
            workloadType = javaType.workloadType(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy