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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.sqlvirtualmachine.kotlin.inputs
import com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoBackupSettingsArgs.builder
import com.pulumi.azurenative.sqlvirtualmachine.kotlin.enums.AutoBackupDaysOfWeek
import com.pulumi.azurenative.sqlvirtualmachine.kotlin.enums.BackupScheduleType
import com.pulumi.azurenative.sqlvirtualmachine.kotlin.enums.FullBackupFrequencyType
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.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Configure backups for databases in your SQL virtual machine.
* @property backupScheduleType Backup schedule type.
* @property backupSystemDbs Include or exclude system databases from auto backup.
* @property daysOfWeek Days of the week for the backups when FullBackupFrequency is set to Weekly.
* @property enable Enable or disable autobackup on SQL virtual machine.
* @property enableEncryption Enable or disable encryption for backup on SQL virtual machine.
* @property fullBackupFrequency Frequency of full backups. In both cases, full backups begin during the next scheduled time window.
* @property fullBackupStartTime Start time of a given day during which full backups can take place. 0-23 hours.
* @property fullBackupWindowHours Duration of the time window of a given day during which full backups can take place. 1-23 hours.
* @property logBackupFrequency Frequency of log backups. 5-60 minutes.
* @property password Password for encryption on backup.
* @property retentionPeriod Retention period of backup: 1-90 days.
* @property storageAccessKey Storage account key where backup will be taken to.
* @property storageAccountUrl Storage account url where backup will be taken to.
* @property storageContainerName Storage container name where backup will be taken to.
*/
public data class AutoBackupSettingsArgs(
public val backupScheduleType: Output>? = null,
public val backupSystemDbs: Output? = null,
public val daysOfWeek: Output>>? = null,
public val enable: Output? = null,
public val enableEncryption: Output? = null,
public val fullBackupFrequency: Output>? = null,
public val fullBackupStartTime: Output? = null,
public val fullBackupWindowHours: Output? = null,
public val logBackupFrequency: Output? = null,
public val password: Output? = null,
public val retentionPeriod: Output? = null,
public val storageAccessKey: Output? = null,
public val storageAccountUrl: Output? = null,
public val storageContainerName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoBackupSettingsArgs =
com.pulumi.azurenative.sqlvirtualmachine.inputs.AutoBackupSettingsArgs.builder()
.backupScheduleType(
backupScheduleType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.backupSystemDbs(backupSystemDbs?.applyValue({ args0 -> args0 }))
.daysOfWeek(
daysOfWeek?.applyValue({ args0 ->
args0.map({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
})
}),
)
.enable(enable?.applyValue({ args0 -> args0 }))
.enableEncryption(enableEncryption?.applyValue({ args0 -> args0 }))
.fullBackupFrequency(
fullBackupFrequency?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.fullBackupStartTime(fullBackupStartTime?.applyValue({ args0 -> args0 }))
.fullBackupWindowHours(fullBackupWindowHours?.applyValue({ args0 -> args0 }))
.logBackupFrequency(logBackupFrequency?.applyValue({ args0 -> args0 }))
.password(password?.applyValue({ args0 -> args0 }))
.retentionPeriod(retentionPeriod?.applyValue({ args0 -> args0 }))
.storageAccessKey(storageAccessKey?.applyValue({ args0 -> args0 }))
.storageAccountUrl(storageAccountUrl?.applyValue({ args0 -> args0 }))
.storageContainerName(storageContainerName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AutoBackupSettingsArgs].
*/
@PulumiTagMarker
public class AutoBackupSettingsArgsBuilder internal constructor() {
private var backupScheduleType: Output>? = null
private var backupSystemDbs: Output? = null
private var daysOfWeek: Output>>? = null
private var enable: Output? = null
private var enableEncryption: Output? = null
private var fullBackupFrequency: Output>? = null
private var fullBackupStartTime: Output? = null
private var fullBackupWindowHours: Output? = null
private var logBackupFrequency: Output? = null
private var password: Output? = null
private var retentionPeriod: Output? = null
private var storageAccessKey: Output? = null
private var storageAccountUrl: Output? = null
private var storageContainerName: Output? = null
/**
* @param value Backup schedule type.
*/
@JvmName("lfdcarlbisklvstv")
public suspend fun backupScheduleType(`value`: Output>) {
this.backupScheduleType = value
}
/**
* @param value Include or exclude system databases from auto backup.
*/
@JvmName("tcmorlkjqevylfxa")
public suspend fun backupSystemDbs(`value`: Output) {
this.backupSystemDbs = value
}
/**
* @param value Days of the week for the backups when FullBackupFrequency is set to Weekly.
*/
@JvmName("rwarxgvrstttrcxa")
public suspend fun daysOfWeek(`value`: Output>>) {
this.daysOfWeek = value
}
@JvmName("bobgftepngrdigcv")
public suspend fun daysOfWeek(vararg values: Output>) {
this.daysOfWeek = Output.all(values.asList())
}
/**
* @param values Days of the week for the backups when FullBackupFrequency is set to Weekly.
*/
@JvmName("qsdbwnrccephewbx")
public suspend fun daysOfWeek(values: List