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

com.pulumi.gcp.gkebackup.kotlin.outputs.BackupPlanBackupConfig.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.gkebackup.kotlin.outputs

import kotlin.Boolean
import kotlin.Suppress

/**
 *
 * @property allNamespaces If True, include all namespaced resources.
 * @property encryptionKey This defines a customer managed encryption key that will be used to encrypt the "config"
 * portion (the Kubernetes resources) of Backups created via this plan.
 * Structure is documented below.
 * @property includeSecrets This flag specifies whether Kubernetes Secret resources should be included
 * when they fall into the scope of Backups.
 * @property includeVolumeData This flag specifies whether volume data should be backed up when PVCs are
 * included in the scope of a Backup.
 * @property selectedApplications A list of namespaced Kubernetes Resources.
 * Structure is documented below.
 * @property selectedNamespaces If set, include just the resources in the listed namespaces.
 * Structure is documented below.
 */
public data class BackupPlanBackupConfig(
    public val allNamespaces: Boolean? = null,
    public val encryptionKey: BackupPlanBackupConfigEncryptionKey? = null,
    public val includeSecrets: Boolean? = null,
    public val includeVolumeData: Boolean? = null,
    public val selectedApplications: BackupPlanBackupConfigSelectedApplications? = null,
    public val selectedNamespaces: BackupPlanBackupConfigSelectedNamespaces? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.gkebackup.outputs.BackupPlanBackupConfig): BackupPlanBackupConfig = BackupPlanBackupConfig(
            allNamespaces = javaType.allNamespaces().map({ args0 -> args0 }).orElse(null),
            encryptionKey = javaType.encryptionKey().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.gkebackup.kotlin.outputs.BackupPlanBackupConfigEncryptionKey.Companion.toKotlin(args0)
                })
            }).orElse(null),
            includeSecrets = javaType.includeSecrets().map({ args0 -> args0 }).orElse(null),
            includeVolumeData = javaType.includeVolumeData().map({ args0 -> args0 }).orElse(null),
            selectedApplications = javaType.selectedApplications().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.gkebackup.kotlin.outputs.BackupPlanBackupConfigSelectedApplications.Companion.toKotlin(args0)
                })
            }).orElse(null),
            selectedNamespaces = javaType.selectedNamespaces().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.gkebackup.kotlin.outputs.BackupPlanBackupConfigSelectedNamespaces.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy