All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
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.
com.pulumi.azure.containerservice.kotlin.inputs.GroupContainerVolumeArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.containerservice.kotlin.inputs
import com.pulumi.azure.containerservice.inputs.GroupContainerVolumeArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @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 GroupContainerVolumeArgs(
public val emptyDir: Output? = null,
public val gitRepo: Output? = null,
public val mountPath: Output,
public val name: Output,
public val readOnly: Output? = null,
public val secret: Output>? = null,
public val shareName: Output? = null,
public val storageAccountKey: Output? = null,
public val storageAccountName: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.containerservice.inputs.GroupContainerVolumeArgs =
com.pulumi.azure.containerservice.inputs.GroupContainerVolumeArgs.builder()
.emptyDir(emptyDir?.applyValue({ args0 -> args0 }))
.gitRepo(gitRepo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.mountPath(mountPath.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.readOnly(readOnly?.applyValue({ args0 -> args0 }))
.secret(secret?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.shareName(shareName?.applyValue({ args0 -> args0 }))
.storageAccountKey(storageAccountKey?.applyValue({ args0 -> args0 }))
.storageAccountName(storageAccountName?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [GroupContainerVolumeArgs].
*/
@PulumiTagMarker
public class GroupContainerVolumeArgsBuilder internal constructor() {
private var emptyDir: Output? = null
private var gitRepo: Output? = null
private var mountPath: Output? = null
private var name: Output? = null
private var readOnly: Output? = null
private var secret: Output>? = null
private var shareName: Output? = null
private var storageAccountKey: Output? = null
private var storageAccountName: Output? = null
/**
* @param value Boolean as to whether the mounted volume should be an empty directory. Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("dvvqmxwbwnhfbqco")
public suspend fun emptyDir(`value`: Output) {
this.emptyDir = value
}
/**
* @param value A `git_repo` block as defined below. Changing this forces a new resource to be created.
*/
@JvmName("vqalbhfhivsjpeej")
public suspend fun gitRepo(`value`: Output) {
this.gitRepo = value
}
/**
* @param value The path on which this volume is to be mounted. Changing this forces a new resource to be created.
*/
@JvmName("ftlbrgijsmvqimja")
public suspend fun mountPath(`value`: Output) {
this.mountPath = value
}
/**
* @param value The name of the volume mount. Changing this forces a new resource to be created.
*/
@JvmName("brtqsuuncjkqouph")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value 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.
*/
@JvmName("cuyewlwosqbkgplr")
public suspend fun readOnly(`value`: Output) {
this.readOnly = value
}
/**
* @param value 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.
*/
@JvmName("dnprmqhephdcoqgu")
public suspend fun secret(`value`: Output>) {
this.secret = value
}
/**
* @param value 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.
*/
@JvmName("skesgobjxyvcwush")
public suspend fun shareName(`value`: Output) {
this.shareName = value
}
/**
* @param value The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.
*/
@JvmName("tgybvijiaslmaetk")
public suspend fun storageAccountKey(`value`: Output) {
this.storageAccountKey = value
}
/**
* @param value The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.
*/
@JvmName("qxjnkqgfkvaaetdl")
public suspend fun storageAccountName(`value`: Output) {
this.storageAccountName = value
}
/**
* @param value Boolean as to whether the mounted volume should be an empty directory. Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("ctanprfvwjiyvyup")
public suspend fun emptyDir(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.emptyDir = mapped
}
/**
* @param value A `git_repo` block as defined below. Changing this forces a new resource to be created.
*/
@JvmName("dfwcrrysotynxuxy")
public suspend fun gitRepo(`value`: GroupContainerVolumeGitRepoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gitRepo = mapped
}
/**
* @param argument A `git_repo` block as defined below. Changing this forces a new resource to be created.
*/
@JvmName("nhqeywjhcqptdwlf")
public suspend fun gitRepo(argument: suspend GroupContainerVolumeGitRepoArgsBuilder.() -> Unit) {
val toBeMapped = GroupContainerVolumeGitRepoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.gitRepo = mapped
}
/**
* @param value The path on which this volume is to be mounted. Changing this forces a new resource to be created.
*/
@JvmName("btpoofruwwmcdtph")
public suspend fun mountPath(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.mountPath = mapped
}
/**
* @param value The name of the volume mount. Changing this forces a new resource to be created.
*/
@JvmName("baxhnidshskunvvo")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value 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.
*/
@JvmName("jsdfjomobeypgxhc")
public suspend fun readOnly(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.readOnly = mapped
}
/**
* @param value 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.
*/
@JvmName("ydkbwmgdshnrvtbc")
public suspend fun secret(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.secret = mapped
}
/**
* @param values 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.
*/
@JvmName("bbvqagvmeaayacnu")
public fun secret(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.secret = mapped
}
/**
* @param value 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.
*/
@JvmName("wioglerqnyuadqec")
public suspend fun shareName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.shareName = mapped
}
/**
* @param value The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.
*/
@JvmName("nmxmrgrccirhmcqu")
public suspend fun storageAccountKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageAccountKey = mapped
}
/**
* @param value The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.
*/
@JvmName("qqxedgmtrgicbmmv")
public suspend fun storageAccountName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageAccountName = mapped
}
internal fun build(): GroupContainerVolumeArgs = GroupContainerVolumeArgs(
emptyDir = emptyDir,
gitRepo = gitRepo,
mountPath = mountPath ?: throw PulumiNullFieldException("mountPath"),
name = name ?: throw PulumiNullFieldException("name"),
readOnly = readOnly,
secret = secret,
shareName = shareName,
storageAccountKey = storageAccountKey,
storageAccountName = storageAccountName,
)
}