
com.pulumi.azurenative.compute.kotlin.inputs.CloudServiceExtensionPropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.compute.kotlin.inputs
import com.pulumi.azurenative.compute.inputs.CloudServiceExtensionPropertiesArgs.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.collections.List
import kotlin.jvm.JvmName
/**
* Extension Properties.
* @property autoUpgradeMinorVersion Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available.
* @property forceUpdateTag Tag to force apply the provided public and protected settings.
* Changing the tag value allows for re-running the extension without changing any of the public or protected settings.
* If forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler.
* If neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and
* it is up to handler implementation whether to re-run it or not
* @property protectedSettings Protected settings for the extension which are encrypted before sent to the role instance.
* @property protectedSettingsFromKeyVault Protected settings for the extension, referenced using KeyVault which are encrypted before sent to the role instance.
* @property publisher The name of the extension handler publisher.
* @property rolesAppliedTo Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service.
* @property settings Public settings for the extension. For JSON extensions, this is the JSON settings for the extension. For XML Extension (like RDP), this is the XML setting for the extension.
* @property type Specifies the type of the extension.
* @property typeHandlerVersion Specifies the version of the extension. Specifies the version of the extension. If this element is not specified or an asterisk (*) is used as the value, the latest version of the extension is used. If the value is specified with a major version number and an asterisk as the minor version number (X.), the latest minor version of the specified major version is selected. If a major version number and a minor version number are specified (X.Y), the specific extension version is selected. If a version is specified, an auto-upgrade is performed on the role instance.
*/
public data class CloudServiceExtensionPropertiesArgs(
public val autoUpgradeMinorVersion: Output? = null,
public val forceUpdateTag: Output? = null,
public val protectedSettings: Output? = null,
public val protectedSettingsFromKeyVault: Output? = null,
public val publisher: Output? = null,
public val rolesAppliedTo: Output>? = null,
public val settings: Output? = null,
public val type: Output? = null,
public val typeHandlerVersion: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.compute.inputs.CloudServiceExtensionPropertiesArgs =
com.pulumi.azurenative.compute.inputs.CloudServiceExtensionPropertiesArgs.builder()
.autoUpgradeMinorVersion(autoUpgradeMinorVersion?.applyValue({ args0 -> args0 }))
.forceUpdateTag(forceUpdateTag?.applyValue({ args0 -> args0 }))
.protectedSettings(protectedSettings?.applyValue({ args0 -> args0 }))
.protectedSettingsFromKeyVault(
protectedSettingsFromKeyVault?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.publisher(publisher?.applyValue({ args0 -> args0 }))
.rolesAppliedTo(rolesAppliedTo?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.settings(settings?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 }))
.typeHandlerVersion(typeHandlerVersion?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [CloudServiceExtensionPropertiesArgs].
*/
@PulumiTagMarker
public class CloudServiceExtensionPropertiesArgsBuilder internal constructor() {
private var autoUpgradeMinorVersion: Output? = null
private var forceUpdateTag: Output? = null
private var protectedSettings: Output? = null
private var protectedSettingsFromKeyVault: Output? = null
private var publisher: Output? = null
private var rolesAppliedTo: Output>? = null
private var settings: Output? = null
private var type: Output? = null
private var typeHandlerVersion: Output? = null
/**
* @param value Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available.
*/
@JvmName("whnmjpclciumvtgo")
public suspend fun autoUpgradeMinorVersion(`value`: Output) {
this.autoUpgradeMinorVersion = value
}
/**
* @param value Tag to force apply the provided public and protected settings.
* Changing the tag value allows for re-running the extension without changing any of the public or protected settings.
* If forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler.
* If neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and
* it is up to handler implementation whether to re-run it or not
*/
@JvmName("qbvxxfwjlargamgg")
public suspend fun forceUpdateTag(`value`: Output) {
this.forceUpdateTag = value
}
/**
* @param value Protected settings for the extension which are encrypted before sent to the role instance.
*/
@JvmName("dyjvsspurcjewokk")
public suspend fun protectedSettings(`value`: Output) {
this.protectedSettings = value
}
/**
* @param value Protected settings for the extension, referenced using KeyVault which are encrypted before sent to the role instance.
*/
@JvmName("suylavwiewpfatin")
public suspend fun protectedSettingsFromKeyVault(`value`: Output) {
this.protectedSettingsFromKeyVault = value
}
/**
* @param value The name of the extension handler publisher.
*/
@JvmName("yhydnjlarxhvnhdf")
public suspend fun publisher(`value`: Output) {
this.publisher = value
}
/**
* @param value Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service.
*/
@JvmName("bmnoveyveiyhydkd")
public suspend fun rolesAppliedTo(`value`: Output>) {
this.rolesAppliedTo = value
}
@JvmName("elgiyeaemyllujyh")
public suspend fun rolesAppliedTo(vararg values: Output) {
this.rolesAppliedTo = Output.all(values.asList())
}
/**
* @param values Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service.
*/
@JvmName("rjrqbuwgxjyhbfak")
public suspend fun rolesAppliedTo(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy