com.pulumi.azurenative.web.kotlin.WebAppBackupConfigurationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.web.kotlin
import com.pulumi.azurenative.web.WebAppBackupConfigurationArgs.builder
import com.pulumi.azurenative.web.kotlin.inputs.BackupScheduleArgs
import com.pulumi.azurenative.web.kotlin.inputs.BackupScheduleArgsBuilder
import com.pulumi.azurenative.web.kotlin.inputs.DatabaseBackupSettingArgs
import com.pulumi.azurenative.web.kotlin.inputs.DatabaseBackupSettingArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Description of a backup which will be performed.
* Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2020-12-01.
* Other available API versions: 2016-08-01, 2020-10-01, 2023-01-01, 2023-12-01.
* ## Import
* An existing resource can be imported using its type token, name, and identifier, e.g.
* ```sh
* $ pulumi import azure-native:web:WebAppBackupConfiguration myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup
* ```
* @property backupName Name of the backup.
* @property backupSchedule Schedule for the backup if it is executed periodically.
* @property databases Databases included in the backup.
* @property enabled True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled.
* @property kind Kind of resource.
* @property name Name of the app.
* @property resourceGroupName Name of the resource group to which the resource belongs.
* @property storageAccountUrl SAS URL to the container.
*/
public data class WebAppBackupConfigurationArgs(
public val backupName: Output? = null,
public val backupSchedule: Output? = null,
public val databases: Output>? = null,
public val enabled: Output? = null,
public val kind: Output? = null,
public val name: Output? = null,
public val resourceGroupName: Output? = null,
public val storageAccountUrl: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.web.WebAppBackupConfigurationArgs =
com.pulumi.azurenative.web.WebAppBackupConfigurationArgs.builder()
.backupName(backupName?.applyValue({ args0 -> args0 }))
.backupSchedule(backupSchedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.databases(
databases?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.enabled(enabled?.applyValue({ args0 -> args0 }))
.kind(kind?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.storageAccountUrl(storageAccountUrl?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [WebAppBackupConfigurationArgs].
*/
@PulumiTagMarker
public class WebAppBackupConfigurationArgsBuilder internal constructor() {
private var backupName: Output? = null
private var backupSchedule: Output? = null
private var databases: Output>? = null
private var enabled: Output? = null
private var kind: Output? = null
private var name: Output? = null
private var resourceGroupName: Output? = null
private var storageAccountUrl: Output? = null
/**
* @param value Name of the backup.
*/
@JvmName("satuagoylgxlrirv")
public suspend fun backupName(`value`: Output) {
this.backupName = value
}
/**
* @param value Schedule for the backup if it is executed periodically.
*/
@JvmName("elnbadutfrndatwl")
public suspend fun backupSchedule(`value`: Output) {
this.backupSchedule = value
}
/**
* @param value Databases included in the backup.
*/
@JvmName("prhmlbaqhsqpvela")
public suspend fun databases(`value`: Output>) {
this.databases = value
}
@JvmName("rnmllsnsefjywjmb")
public suspend fun databases(vararg values: Output) {
this.databases = Output.all(values.asList())
}
/**
* @param values Databases included in the backup.
*/
@JvmName("rarlcllkknlheosn")
public suspend fun databases(values: List