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

com.pulumi.azure.batch.kotlin.outputs.PoolExtension.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.batch.kotlin.outputs

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

/**
 *
 * @property autoUpgradeMinorVersion Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
 * @property automaticUpgradeEnabled Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. Supported values are `true` and `false`.
 * > **NOTE:** When `automatic_upgrade_enabled` is set to `true`, the `type_handler_version` is automatically updated by the Azure platform when a new version is available and any change in `type_handler_version` should be manually ignored by user.
 * @property name The name of the virtual machine extension.
 * @property protectedSettings JSON formatted protected settings for the extension, the value should be encoded with `jsonencode` function. The extension can contain either `protected_settings` or `provision_after_extensions` or no protected settings at all.
 * @property provisionAfterExtensions The collection of extension names. Collection of extension names after which this extension needs to be provisioned.
 * @property publisher The name of the extension handler publisher.The name of the extension handler publisher.
 * @property settingsJson JSON formatted public settings for the extension, the value should be encoded with `jsonencode` function.
 * @property type The type of the extensions.
 * @property typeHandlerVersion The version of script handler.
 */
public data class PoolExtension(
    public val autoUpgradeMinorVersion: Boolean? = null,
    public val automaticUpgradeEnabled: Boolean? = null,
    public val name: String,
    public val protectedSettings: String? = null,
    public val provisionAfterExtensions: List? = null,
    public val publisher: String,
    public val settingsJson: String? = null,
    public val type: String,
    public val typeHandlerVersion: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.batch.outputs.PoolExtension): PoolExtension =
            PoolExtension(
                autoUpgradeMinorVersion = javaType.autoUpgradeMinorVersion().map({ args0 -> args0 }).orElse(null),
                automaticUpgradeEnabled = javaType.automaticUpgradeEnabled().map({ args0 -> args0 }).orElse(null),
                name = javaType.name(),
                protectedSettings = javaType.protectedSettings().map({ args0 -> args0 }).orElse(null),
                provisionAfterExtensions = javaType.provisionAfterExtensions().map({ args0 -> args0 }),
                publisher = javaType.publisher(),
                settingsJson = javaType.settingsJson().map({ args0 -> args0 }).orElse(null),
                type = javaType.type(),
                typeHandlerVersion = javaType.typeHandlerVersion().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy