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

com.pulumi.azurenative.dataprotection.kotlin.inputs.KubernetesClusterBackupDatasourceParametersArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.dataprotection.kotlin.inputs

import com.pulumi.azurenative.dataprotection.inputs.KubernetesClusterBackupDatasourceParametersArgs.builder
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 kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Parameters for Kubernetes Cluster Backup Datasource
 * @property excludedNamespaces Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.
 * @property excludedResourceTypes Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.
 * @property includeClusterScopeResources Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore.
 * @property includedNamespaces Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.
 * @property includedResourceTypes Gets or sets the include resource types property. This property sets the resource types to be included during restore.
 * @property labelSelectors Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.
 * @property objectType Type of the specific object - used for deserializing
 * Expected value is 'KubernetesClusterBackupDatasourceParameters'.
 * @property snapshotVolumes Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during restore.
 */
public data class KubernetesClusterBackupDatasourceParametersArgs(
    public val excludedNamespaces: Output>? = null,
    public val excludedResourceTypes: Output>? = null,
    public val includeClusterScopeResources: Output,
    public val includedNamespaces: Output>? = null,
    public val includedResourceTypes: Output>? = null,
    public val labelSelectors: Output>? = null,
    public val objectType: Output,
    public val snapshotVolumes: Output,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.dataprotection.inputs.KubernetesClusterBackupDatasourceParametersArgs =
        com.pulumi.azurenative.dataprotection.inputs.KubernetesClusterBackupDatasourceParametersArgs.builder()
            .excludedNamespaces(excludedNamespaces?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .excludedResourceTypes(excludedResourceTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .includeClusterScopeResources(includeClusterScopeResources.applyValue({ args0 -> args0 }))
            .includedNamespaces(includedNamespaces?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .includedResourceTypes(includedResourceTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .labelSelectors(labelSelectors?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .objectType(objectType.applyValue({ args0 -> args0 }))
            .snapshotVolumes(snapshotVolumes.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [KubernetesClusterBackupDatasourceParametersArgs].
 */
@PulumiTagMarker
public class KubernetesClusterBackupDatasourceParametersArgsBuilder internal constructor() {
    private var excludedNamespaces: Output>? = null

    private var excludedResourceTypes: Output>? = null

    private var includeClusterScopeResources: Output? = null

    private var includedNamespaces: Output>? = null

    private var includedResourceTypes: Output>? = null

    private var labelSelectors: Output>? = null

    private var objectType: Output? = null

    private var snapshotVolumes: Output? = null

    /**
     * @param value Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.
     */
    @JvmName("lrlnkhhsgaagcerh")
    public suspend fun excludedNamespaces(`value`: Output>) {
        this.excludedNamespaces = value
    }

    @JvmName("wbgnmwflqlmqtuqd")
    public suspend fun excludedNamespaces(vararg values: Output) {
        this.excludedNamespaces = Output.all(values.asList())
    }

    /**
     * @param values Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.
     */
    @JvmName("nyvbspvnipxigwpj")
    public suspend fun excludedNamespaces(values: List>) {
        this.excludedNamespaces = Output.all(values)
    }

    /**
     * @param value Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.
     */
    @JvmName("rfjrvskxxobsngnx")
    public suspend fun excludedResourceTypes(`value`: Output>) {
        this.excludedResourceTypes = value
    }

    @JvmName("ylnvwpitxaobotva")
    public suspend fun excludedResourceTypes(vararg values: Output) {
        this.excludedResourceTypes = Output.all(values.asList())
    }

    /**
     * @param values Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.
     */
    @JvmName("lausdykktsjybojf")
    public suspend fun excludedResourceTypes(values: List>) {
        this.excludedResourceTypes = Output.all(values)
    }

    /**
     * @param value Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore.
     */
    @JvmName("yamqeljuicwchayi")
    public suspend fun includeClusterScopeResources(`value`: Output) {
        this.includeClusterScopeResources = value
    }

    /**
     * @param value Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.
     */
    @JvmName("kkyuqnkjnsuhuvye")
    public suspend fun includedNamespaces(`value`: Output>) {
        this.includedNamespaces = value
    }

    @JvmName("rjepipyfreohtpda")
    public suspend fun includedNamespaces(vararg values: Output) {
        this.includedNamespaces = Output.all(values.asList())
    }

    /**
     * @param values Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.
     */
    @JvmName("sbyxdihgcnapvibh")
    public suspend fun includedNamespaces(values: List>) {
        this.includedNamespaces = Output.all(values)
    }

    /**
     * @param value Gets or sets the include resource types property. This property sets the resource types to be included during restore.
     */
    @JvmName("qbpwdktveagymuah")
    public suspend fun includedResourceTypes(`value`: Output>) {
        this.includedResourceTypes = value
    }

    @JvmName("omfwabilbalockeu")
    public suspend fun includedResourceTypes(vararg values: Output) {
        this.includedResourceTypes = Output.all(values.asList())
    }

    /**
     * @param values Gets or sets the include resource types property. This property sets the resource types to be included during restore.
     */
    @JvmName("pcpamytkbiiywumh")
    public suspend fun includedResourceTypes(values: List>) {
        this.includedResourceTypes = Output.all(values)
    }

    /**
     * @param value Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.
     */
    @JvmName("rjqnnkraduexfbgi")
    public suspend fun labelSelectors(`value`: Output>) {
        this.labelSelectors = value
    }

    @JvmName("chevbawqmgjrtbem")
    public suspend fun labelSelectors(vararg values: Output) {
        this.labelSelectors = Output.all(values.asList())
    }

    /**
     * @param values Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.
     */
    @JvmName("roandamlixbnngnw")
    public suspend fun labelSelectors(values: List>) {
        this.labelSelectors = Output.all(values)
    }

    /**
     * @param value Type of the specific object - used for deserializing
     * Expected value is 'KubernetesClusterBackupDatasourceParameters'.
     */
    @JvmName("ldndgwalecuxanox")
    public suspend fun objectType(`value`: Output) {
        this.objectType = value
    }

    /**
     * @param value Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during restore.
     */
    @JvmName("cshxnvhpyaidhmmg")
    public suspend fun snapshotVolumes(`value`: Output) {
        this.snapshotVolumes = value
    }

    /**
     * @param value Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.
     */
    @JvmName("hhlohdkobyhcndco")
    public suspend fun excludedNamespaces(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.excludedNamespaces = mapped
    }

    /**
     * @param values Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded during restore.
     */
    @JvmName("obrjupyhnmglmetn")
    public suspend fun excludedNamespaces(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.excludedNamespaces = mapped
    }

    /**
     * @param value Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.
     */
    @JvmName("oiiwlxhbylnhmovv")
    public suspend fun excludedResourceTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.excludedResourceTypes = mapped
    }

    /**
     * @param values Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.
     */
    @JvmName("dcbibvbmlfckqkjh")
    public suspend fun excludedResourceTypes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.excludedResourceTypes = mapped
    }

    /**
     * @param value Gets or sets the include cluster resources property. This property if enabled will include cluster scope resources during restore.
     */
    @JvmName("chqvtojcbeoumfyy")
    public suspend fun includeClusterScopeResources(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.includeClusterScopeResources = mapped
    }

    /**
     * @param value Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.
     */
    @JvmName("xbyldsitlsxbsnwk")
    public suspend fun includedNamespaces(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.includedNamespaces = mapped
    }

    /**
     * @param values Gets or sets the include namespaces property. This property sets the namespaces to be included during restore.
     */
    @JvmName("cnljmkqdjgbqijht")
    public suspend fun includedNamespaces(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.includedNamespaces = mapped
    }

    /**
     * @param value Gets or sets the include resource types property. This property sets the resource types to be included during restore.
     */
    @JvmName("nxtlmxktqpqpbrtw")
    public suspend fun includedResourceTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.includedResourceTypes = mapped
    }

    /**
     * @param values Gets or sets the include resource types property. This property sets the resource types to be included during restore.
     */
    @JvmName("jkqtvwpqcvgxxuqa")
    public suspend fun includedResourceTypes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.includedResourceTypes = mapped
    }

    /**
     * @param value Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.
     */
    @JvmName("ygilkntpeuxvyeap")
    public suspend fun labelSelectors(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.labelSelectors = mapped
    }

    /**
     * @param values Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.
     */
    @JvmName("hmrjdsahbuvddcbd")
    public suspend fun labelSelectors(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.labelSelectors = mapped
    }

    /**
     * @param value Type of the specific object - used for deserializing
     * Expected value is 'KubernetesClusterBackupDatasourceParameters'.
     */
    @JvmName("crocfihpeavlarcx")
    public suspend fun objectType(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.objectType = mapped
    }

    /**
     * @param value Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during restore.
     */
    @JvmName("pddxxtlbfyxcqiic")
    public suspend fun snapshotVolumes(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.snapshotVolumes = mapped
    }

    internal fun build(): KubernetesClusterBackupDatasourceParametersArgs =
        KubernetesClusterBackupDatasourceParametersArgs(
            excludedNamespaces = excludedNamespaces,
            excludedResourceTypes = excludedResourceTypes,
            includeClusterScopeResources = includeClusterScopeResources ?: throw
                PulumiNullFieldException("includeClusterScopeResources"),
            includedNamespaces = includedNamespaces,
            includedResourceTypes = includedResourceTypes,
            labelSelectors = labelSelectors,
            objectType = objectType ?: throw PulumiNullFieldException("objectType"),
            snapshotVolumes = snapshotVolumes ?: throw PulumiNullFieldException("snapshotVolumes"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy