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

com.pulumi.azurenative.recoveryservices.kotlin.outputs.AzureVmWorkloadSAPHanaDatabaseProtectedItemResponse.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 representing SAP HANA Database.
 * @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 'AzureVmWorkloadSAPHanaDatabase'.
 * @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 AzureVmWorkloadSAPHanaDatabaseProtectedItemResponse(
    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.AzureVmWorkloadSAPHanaDatabaseProtectedItemResponse): AzureVmWorkloadSAPHanaDatabaseProtectedItemResponse =
            AzureVmWorkloadSAPHanaDatabaseProtectedItemResponse(
                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