
com.pulumi.azurenative.security.kotlin.inputs.ExtensionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.security.kotlin.inputs
import com.pulumi.azurenative.security.inputs.ExtensionArgs.builder
import com.pulumi.azurenative.security.kotlin.enums.IsEnabled
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.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Any
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* A plan's extension properties
* @property additionalExtensionProperties Property values associated with the extension.
* @property isEnabled Indicates whether the extension is enabled.
* @property name The extension name. Supported values are:
**AgentlessDiscoveryForKubernetes** - API-based discovery of information about Kubernetes cluster architecture, workload objects, and setup. Required for Kubernetes inventory, identity and network exposure detection, attack path analysis and risk hunting as part of the cloud security explorer.
* Available for CloudPosture plan.
**OnUploadMalwareScanning** - Limits the GB to be scanned per month for each storage account within the subscription. Once this limit reached on a given storage account, Blobs won't be scanned during current calendar month.
* Available for StorageAccounts plan.
**SensitiveDataDiscovery** - Sensitive data discovery identifies Blob storage container with sensitive data such as credentials, credit cards, and more, to help prioritize and investigate security events.
* Available for StorageAccounts and CloudPosture plans.
**ContainerRegistriesVulnerabilityAssessments** - Provides vulnerability management for images stored in your container registries.
* Available for CloudPosture and Containers plans.
*/
public data class ExtensionArgs(
public val additionalExtensionProperties: Output? = null,
public val isEnabled: Output>,
public val name: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.security.inputs.ExtensionArgs =
com.pulumi.azurenative.security.inputs.ExtensionArgs.builder()
.additionalExtensionProperties(additionalExtensionProperties?.applyValue({ args0 -> args0 }))
.isEnabled(
isEnabled.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.name(name.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ExtensionArgs].
*/
@PulumiTagMarker
public class ExtensionArgsBuilder internal constructor() {
private var additionalExtensionProperties: Output? = null
private var isEnabled: Output>? = null
private var name: Output? = null
/**
* @param value Property values associated with the extension.
*/
@JvmName("qciqmlgtvbradsbj")
public suspend fun additionalExtensionProperties(`value`: Output) {
this.additionalExtensionProperties = value
}
/**
* @param value Indicates whether the extension is enabled.
*/
@JvmName("xhqhmpqbvknxnyqc")
public suspend fun isEnabled(`value`: Output>) {
this.isEnabled = value
}
/**
* @param value The extension name. Supported values are:
**AgentlessDiscoveryForKubernetes** - API-based discovery of information about Kubernetes cluster architecture, workload objects, and setup. Required for Kubernetes inventory, identity and network exposure detection, attack path analysis and risk hunting as part of the cloud security explorer.
* Available for CloudPosture plan.
**OnUploadMalwareScanning** - Limits the GB to be scanned per month for each storage account within the subscription. Once this limit reached on a given storage account, Blobs won't be scanned during current calendar month.
* Available for StorageAccounts plan.
**SensitiveDataDiscovery** - Sensitive data discovery identifies Blob storage container with sensitive data such as credentials, credit cards, and more, to help prioritize and investigate security events.
* Available for StorageAccounts and CloudPosture plans.
**ContainerRegistriesVulnerabilityAssessments** - Provides vulnerability management for images stored in your container registries.
* Available for CloudPosture and Containers plans.
*/
@JvmName("bggsyudhnjyxvvfm")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Property values associated with the extension.
*/
@JvmName("omoptegqrrrrrndw")
public suspend fun additionalExtensionProperties(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalExtensionProperties = mapped
}
/**
* @param value Indicates whether the extension is enabled.
*/
@JvmName("tfdyrcdkxfgdoclb")
public suspend fun isEnabled(`value`: Either) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.isEnabled = mapped
}
/**
* @param value Indicates whether the extension is enabled.
*/
@JvmName("yaxccuaeheaqward")
public fun isEnabled(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.isEnabled = mapped
}
/**
* @param value Indicates whether the extension is enabled.
*/
@JvmName("pglofsrddctacesw")
public fun isEnabled(`value`: IsEnabled) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.isEnabled = mapped
}
/**
* @param value The extension name. Supported values are:
**AgentlessDiscoveryForKubernetes** - API-based discovery of information about Kubernetes cluster architecture, workload objects, and setup. Required for Kubernetes inventory, identity and network exposure detection, attack path analysis and risk hunting as part of the cloud security explorer.
* Available for CloudPosture plan.
**OnUploadMalwareScanning** - Limits the GB to be scanned per month for each storage account within the subscription. Once this limit reached on a given storage account, Blobs won't be scanned during current calendar month.
* Available for StorageAccounts plan.
**SensitiveDataDiscovery** - Sensitive data discovery identifies Blob storage container with sensitive data such as credentials, credit cards, and more, to help prioritize and investigate security events.
* Available for StorageAccounts and CloudPosture plans.
**ContainerRegistriesVulnerabilityAssessments** - Provides vulnerability management for images stored in your container registries.
* Available for CloudPosture and Containers plans.
*/
@JvmName("vnjxilqxegiirsbn")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
internal fun build(): ExtensionArgs = ExtensionArgs(
additionalExtensionProperties = additionalExtensionProperties,
isEnabled = isEnabled ?: throw PulumiNullFieldException("isEnabled"),
name = name ?: throw PulumiNullFieldException("name"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy