![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.storage.kotlin.inputs.EncryptionArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.storage.kotlin.inputs
import com.pulumi.azurenative.storage.inputs.EncryptionArgs.builder
import com.pulumi.azurenative.storage.kotlin.enums.KeySource
import com.pulumi.core.Either
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.jvm.JvmName
/**
* The encryption settings on the storage account.
* @property encryptionIdentity The identity to be used with service-side encryption at rest.
* @property keySource The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault
* @property keyVaultProperties Properties provided by key vault.
* @property requireInfrastructureEncryption A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.
* @property services List of services which support encryption.
*/
public data class EncryptionArgs(
public val encryptionIdentity: Output? = null,
public val keySource: Output>? = null,
public val keyVaultProperties: Output? = null,
public val requireInfrastructureEncryption: Output? = null,
public val services: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.storage.inputs.EncryptionArgs =
com.pulumi.azurenative.storage.inputs.EncryptionArgs.builder()
.encryptionIdentity(
encryptionIdentity?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.keySource(
keySource?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.keyVaultProperties(
keyVaultProperties?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.requireInfrastructureEncryption(requireInfrastructureEncryption?.applyValue({ args0 -> args0 }))
.services(services?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [EncryptionArgs].
*/
@PulumiTagMarker
public class EncryptionArgsBuilder internal constructor() {
private var encryptionIdentity: Output? = null
private var keySource: Output>? = null
private var keyVaultProperties: Output? = null
private var requireInfrastructureEncryption: Output? = null
private var services: Output? = null
/**
* @param value The identity to be used with service-side encryption at rest.
*/
@JvmName("yyffxaamacsknxwi")
public suspend fun encryptionIdentity(`value`: Output) {
this.encryptionIdentity = value
}
/**
* @param value The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault
*/
@JvmName("wxufuyyftvjtloit")
public suspend fun keySource(`value`: Output>) {
this.keySource = value
}
/**
* @param value Properties provided by key vault.
*/
@JvmName("hhehydgrdgbfcyan")
public suspend fun keyVaultProperties(`value`: Output) {
this.keyVaultProperties = value
}
/**
* @param value A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.
*/
@JvmName("ktmfqcmcirkvljqj")
public suspend fun requireInfrastructureEncryption(`value`: Output) {
this.requireInfrastructureEncryption = value
}
/**
* @param value List of services which support encryption.
*/
@JvmName("wneoyhvykvwmeguh")
public suspend fun services(`value`: Output) {
this.services = value
}
/**
* @param value The identity to be used with service-side encryption at rest.
*/
@JvmName("stcxkepmujobchqe")
public suspend fun encryptionIdentity(`value`: EncryptionIdentityArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptionIdentity = mapped
}
/**
* @param argument The identity to be used with service-side encryption at rest.
*/
@JvmName("gmeppijigcqumynf")
public suspend fun encryptionIdentity(argument: suspend EncryptionIdentityArgsBuilder.() -> Unit) {
val toBeMapped = EncryptionIdentityArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.encryptionIdentity = mapped
}
/**
* @param value The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault
*/
@JvmName("cllxfengkuumcvmb")
public suspend fun keySource(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.keySource = mapped
}
/**
* @param value The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault
*/
@JvmName("yjrsthlwtawaxxiv")
public fun keySource(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.keySource = mapped
}
/**
* @param value The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault
*/
@JvmName("nidjxvvnuwnjkoij")
public fun keySource(`value`: KeySource) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.keySource = mapped
}
/**
* @param value Properties provided by key vault.
*/
@JvmName("okdymmbuxosheavs")
public suspend fun keyVaultProperties(`value`: KeyVaultPropertiesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.keyVaultProperties = mapped
}
/**
* @param argument Properties provided by key vault.
*/
@JvmName("aqtgjyogyothjnns")
public suspend fun keyVaultProperties(argument: suspend KeyVaultPropertiesArgsBuilder.() -> Unit) {
val toBeMapped = KeyVaultPropertiesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.keyVaultProperties = mapped
}
/**
* @param value A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest.
*/
@JvmName("oopjewkxgosbfmrk")
public suspend fun requireInfrastructureEncryption(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.requireInfrastructureEncryption = mapped
}
/**
* @param value List of services which support encryption.
*/
@JvmName("xvuyrlslmtekbbvn")
public suspend fun services(`value`: EncryptionServicesArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.services = mapped
}
/**
* @param argument List of services which support encryption.
*/
@JvmName("bicysttdfnhwrngo")
public suspend fun services(argument: suspend EncryptionServicesArgsBuilder.() -> Unit) {
val toBeMapped = EncryptionServicesArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.services = mapped
}
internal fun build(): EncryptionArgs = EncryptionArgs(
encryptionIdentity = encryptionIdentity,
keySource = keySource,
keyVaultProperties = keyVaultProperties,
requireInfrastructureEncryption = requireInfrastructureEncryption,
services = services,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy