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

com.pulumi.azure.compute.kotlin.outputs.LinuxVirtualMachineScaleSetExtension.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.compute.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property autoUpgradeMinorVersion Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to `true`.
 * @property automaticUpgradeEnabled Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
 * @property forceUpdateTag A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
 * @property name The name for the Virtual Machine Scale Set Extension.
 * @property protectedSettings A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
 * > **NOTE:** Keys within the `protected_settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
 * @property protectedSettingsFromKeyVault
 * @property provisionAfterExtensions An ordered list of Extension names which this should be provisioned after.
 * @property publisher Specifies the Publisher of the Extension.
 * @property settings A JSON String which specifies Settings for the Extension.
 * > **NOTE:** Keys within the `settings` block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
 * @property type Specifies the Type of the Extension.
 * @property typeHandlerVersion Specifies the version of the extension to use, available versions can be found using the Azure CLI.
 */
public data class LinuxVirtualMachineScaleSetExtension(
    public val autoUpgradeMinorVersion: Boolean? = null,
    public val automaticUpgradeEnabled: Boolean? = null,
    public val forceUpdateTag: String? = null,
    public val name: String,
    public val protectedSettings: String? = null,
    public val protectedSettingsFromKeyVault:
    LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault? = null,
    public val provisionAfterExtensions: List? = null,
    public val publisher: String,
    public val settings: String? = null,
    public val type: String,
    public val typeHandlerVersion: String,
) {
    public companion object {
        public
        fun toKotlin(javaType: com.pulumi.azure.compute.outputs.LinuxVirtualMachineScaleSetExtension):
            LinuxVirtualMachineScaleSetExtension = LinuxVirtualMachineScaleSetExtension(
            autoUpgradeMinorVersion = javaType.autoUpgradeMinorVersion().map({ args0 -> args0 }).orElse(null),
            automaticUpgradeEnabled = javaType.automaticUpgradeEnabled().map({ args0 -> args0 }).orElse(null),
            forceUpdateTag = javaType.forceUpdateTag().map({ args0 -> args0 }).orElse(null),
            name = javaType.name(),
            protectedSettings = javaType.protectedSettings().map({ args0 -> args0 }).orElse(null),
            protectedSettingsFromKeyVault = javaType.protectedSettingsFromKeyVault().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.compute.kotlin.outputs.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault.Companion.toKotlin(args0)
                })
            }).orElse(null),
            provisionAfterExtensions = javaType.provisionAfterExtensions().map({ args0 -> args0 }),
            publisher = javaType.publisher(),
            settings = javaType.settings().map({ args0 -> args0 }).orElse(null),
            type = javaType.type(),
            typeHandlerVersion = javaType.typeHandlerVersion(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy