
com.pulumi.azurenative.hybridcompute.kotlin.inputs.MachineExtensionPropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.hybridcompute.kotlin.inputs
import com.pulumi.azurenative.hybridcompute.inputs.MachineExtensionPropertiesArgs.builder
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.Any
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Describes the properties of a Machine Extension.
* @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 enableAutomaticUpgrade Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available.
* @property forceUpdateTag How the extension handler should be forced to update even if the extension configuration has not changed.
* @property instanceView The machine extension instance view.
* @property protectedSettings The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
* @property publisher The name of the extension handler publisher.
* @property settings Json formatted public settings for the extension.
* @property type Specifies the type of the extension; an example is "CustomScriptExtension".
* @property typeHandlerVersion Specifies the version of the script handler.
*/
public data class MachineExtensionPropertiesArgs(
public val autoUpgradeMinorVersion: Output? = null,
public val enableAutomaticUpgrade: Output? = null,
public val forceUpdateTag: Output? = null,
public val instanceView: Output? = null,
public val protectedSettings: Output? = null,
public val publisher: Output? = null,
public val settings: Output? = null,
public val type: Output? = null,
public val typeHandlerVersion: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.hybridcompute.inputs.MachineExtensionPropertiesArgs = com.pulumi.azurenative.hybridcompute.inputs.MachineExtensionPropertiesArgs.builder()
.autoUpgradeMinorVersion(autoUpgradeMinorVersion?.applyValue({ args0 -> args0 }))
.enableAutomaticUpgrade(enableAutomaticUpgrade?.applyValue({ args0 -> args0 }))
.forceUpdateTag(forceUpdateTag?.applyValue({ args0 -> args0 }))
.instanceView(instanceView?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.protectedSettings(protectedSettings?.applyValue({ args0 -> args0 }))
.publisher(publisher?.applyValue({ args0 -> args0 }))
.settings(settings?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 }))
.typeHandlerVersion(typeHandlerVersion?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [MachineExtensionPropertiesArgs].
*/
@PulumiTagMarker
public class MachineExtensionPropertiesArgsBuilder internal constructor() {
private var autoUpgradeMinorVersion: Output? = null
private var enableAutomaticUpgrade: Output? = null
private var forceUpdateTag: Output? = null
private var instanceView: Output? = null
private var protectedSettings: Output? = null
private var publisher: Output? = null
private var settings: Output? = null
private var type: Output? = null
private var typeHandlerVersion: Output? = null
/**
* @param value 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.
*/
@JvmName("hnusmynhugwqauma")
public suspend fun autoUpgradeMinorVersion(`value`: Output) {
this.autoUpgradeMinorVersion = value
}
/**
* @param value Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available.
*/
@JvmName("bpyddhoeckfyiuhh")
public suspend fun enableAutomaticUpgrade(`value`: Output) {
this.enableAutomaticUpgrade = value
}
/**
* @param value How the extension handler should be forced to update even if the extension configuration has not changed.
*/
@JvmName("xrcfxkxisiomugcf")
public suspend fun forceUpdateTag(`value`: Output) {
this.forceUpdateTag = value
}
/**
* @param value The machine extension instance view.
*/
@JvmName("dklorepprbstkfvi")
public suspend fun instanceView(`value`: Output) {
this.instanceView = value
}
/**
* @param value The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
*/
@JvmName("wraqtyetcuqltisq")
public suspend fun protectedSettings(`value`: Output) {
this.protectedSettings = value
}
/**
* @param value The name of the extension handler publisher.
*/
@JvmName("edlmtkdlfwgxwuek")
public suspend fun publisher(`value`: Output) {
this.publisher = value
}
/**
* @param value Json formatted public settings for the extension.
*/
@JvmName("wquvttojfmcjbmcy")
public suspend fun settings(`value`: Output) {
this.settings = value
}
/**
* @param value Specifies the type of the extension; an example is "CustomScriptExtension".
*/
@JvmName("ginrrgyjtehpwahi")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value Specifies the version of the script handler.
*/
@JvmName("pismrxnvrrlwesqw")
public suspend fun typeHandlerVersion(`value`: Output) {
this.typeHandlerVersion = value
}
/**
* @param value 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.
*/
@JvmName("mfhmdbxxxglapohg")
public suspend fun autoUpgradeMinorVersion(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.autoUpgradeMinorVersion = mapped
}
/**
* @param value Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available.
*/
@JvmName("thbftfueudxwjnpl")
public suspend fun enableAutomaticUpgrade(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableAutomaticUpgrade = mapped
}
/**
* @param value How the extension handler should be forced to update even if the extension configuration has not changed.
*/
@JvmName("agetidtgyiavkshy")
public suspend fun forceUpdateTag(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.forceUpdateTag = mapped
}
/**
* @param value The machine extension instance view.
*/
@JvmName("ncpafurfpqnhbngr")
public suspend fun instanceView(`value`: MachineExtensionInstanceViewArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceView = mapped
}
/**
* @param argument The machine extension instance view.
*/
@JvmName("fkxsrdqsfwtbobaf")
public suspend fun instanceView(argument: suspend MachineExtensionInstanceViewArgsBuilder.() -> Unit) {
val toBeMapped = MachineExtensionInstanceViewArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.instanceView = mapped
}
/**
* @param value The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
*/
@JvmName("tnlpoomchbpuixte")
public suspend fun protectedSettings(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.protectedSettings = mapped
}
/**
* @param value The name of the extension handler publisher.
*/
@JvmName("dhkgbccirjwoxxnm")
public suspend fun publisher(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.publisher = mapped
}
/**
* @param value Json formatted public settings for the extension.
*/
@JvmName("komxlmcqbbqhsfxi")
public suspend fun settings(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.settings = mapped
}
/**
* @param value Specifies the type of the extension; an example is "CustomScriptExtension".
*/
@JvmName("scxkmsxhlqeaqgwq")
public suspend fun type(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.type = mapped
}
/**
* @param value Specifies the version of the script handler.
*/
@JvmName("ehkqqttukbqxmvwm")
public suspend fun typeHandlerVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.typeHandlerVersion = mapped
}
internal fun build(): MachineExtensionPropertiesArgs = MachineExtensionPropertiesArgs(
autoUpgradeMinorVersion = autoUpgradeMinorVersion,
enableAutomaticUpgrade = enableAutomaticUpgrade,
forceUpdateTag = forceUpdateTag,
instanceView = instanceView,
protectedSettings = protectedSettings,
publisher = publisher,
settings = settings,
type = type,
typeHandlerVersion = typeHandlerVersion,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy