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

com.pulumi.azure.containerservice.kotlin.outputs.GroupInitContainerVolume.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: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.containerservice.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map

/**
 *
 * @property emptyDir Boolean as to whether the mounted volume should be an empty directory. Defaults to `false`. Changing this forces a new resource to be created.
 * @property gitRepo A `git_repo` block as defined below. Changing this forces a new resource to be created.
 * @property mountPath The path on which this volume is to be mounted. Changing this forces a new resource to be created.
 * @property name The name of the volume mount. Changing this forces a new resource to be created.
 * @property readOnly Specify if the volume is to be mounted as read only or not. The default value is `false`. Changing this forces a new resource to be created.
 * @property secret A map of secrets that will be mounted as files in the volume. Changing this forces a new resource to be created.
 * > **Note:** Exactly one of `empty_dir` volume, `git_repo` volume, `secret` volume or storage account volume (`share_name`, `storage_account_name`, and `storage_account_key`) must be specified.
 * > **Note** when using a storage account volume, all of `share_name`, `storage_account_name`, and `storage_account_key` must be specified.
 * > **Note:** The secret values must be supplied as Base64 encoded strings. The secret values are decoded to their original values when mounted in the volume on the container.
 * @property shareName The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.
 * @property storageAccountKey The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.
 * @property storageAccountName The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.
 */
public data class GroupInitContainerVolume(
    public val emptyDir: Boolean? = null,
    public val gitRepo: GroupInitContainerVolumeGitRepo? = null,
    public val mountPath: String,
    public val name: String,
    public val readOnly: Boolean? = null,
    public val secret: Map? = null,
    public val shareName: String? = null,
    public val storageAccountKey: String? = null,
    public val storageAccountName: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.containerservice.outputs.GroupInitContainerVolume): GroupInitContainerVolume = GroupInitContainerVolume(
            emptyDir = javaType.emptyDir().map({ args0 -> args0 }).orElse(null),
            gitRepo = javaType.gitRepo().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.containerservice.kotlin.outputs.GroupInitContainerVolumeGitRepo.Companion.toKotlin(args0)
                })
            }).orElse(null),
            mountPath = javaType.mountPath(),
            name = javaType.name(),
            readOnly = javaType.readOnly().map({ args0 -> args0 }).orElse(null),
            secret = javaType.secret().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            shareName = javaType.shareName().map({ args0 -> args0 }).orElse(null),
            storageAccountKey = javaType.storageAccountKey().map({ args0 -> args0 }).orElse(null),
            storageAccountName = javaType.storageAccountName().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy