
com.pulumi.azurenative.machinelearningservices.kotlin.inputs.AmlComputePropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.machinelearningservices.kotlin.inputs
import com.pulumi.azurenative.machinelearningservices.inputs.AmlComputePropertiesArgs.builder
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.OsType
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.RemoteLoginPortPublicAccess
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.VmPriority
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.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
/**
* AML Compute properties
* @property enableNodePublicIp Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs.
* @property isolatedNetwork Network is isolated or not
* @property osType Compute OS Type
* @property propertyBag A property bag containing additional properties.
* @property remoteLoginPortPublicAccess State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.
* @property scaleSettings Scale settings for AML Compute
* @property subnet Virtual network subnet resource ID the compute nodes belong to.
* @property userAccountCredentials Credentials for an administrator user account that will be created on each compute node.
* @property virtualMachineImage Virtual Machine image for AML Compute - windows only
* @property vmPriority Virtual Machine priority
* @property vmSize Virtual Machine Size
*/
public data class AmlComputePropertiesArgs(
public val enableNodePublicIp: Output? = null,
public val isolatedNetwork: Output? = null,
public val osType: Output>? = null,
public val propertyBag: Output? = null,
public val remoteLoginPortPublicAccess: Output>? =
null,
public val scaleSettings: Output? = null,
public val subnet: Output? = null,
public val userAccountCredentials: Output? = null,
public val virtualMachineImage: Output? = null,
public val vmPriority: Output>? = null,
public val vmSize: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.machinelearningservices.inputs.AmlComputePropertiesArgs =
com.pulumi.azurenative.machinelearningservices.inputs.AmlComputePropertiesArgs.builder()
.enableNodePublicIp(enableNodePublicIp?.applyValue({ args0 -> args0 }))
.isolatedNetwork(isolatedNetwork?.applyValue({ args0 -> args0 }))
.osType(
osType?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.propertyBag(propertyBag?.applyValue({ args0 -> args0 }))
.remoteLoginPortPublicAccess(
remoteLoginPortPublicAccess?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.scaleSettings(scaleSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.subnet(subnet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.userAccountCredentials(
userAccountCredentials?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.virtualMachineImage(
virtualMachineImage?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.vmPriority(
vmPriority?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.vmSize(vmSize?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AmlComputePropertiesArgs].
*/
@PulumiTagMarker
public class AmlComputePropertiesArgsBuilder internal constructor() {
private var enableNodePublicIp: Output? = null
private var isolatedNetwork: Output? = null
private var osType: Output>? = null
private var propertyBag: Output? = null
private var remoteLoginPortPublicAccess: Output>? =
null
private var scaleSettings: Output? = null
private var subnet: Output? = null
private var userAccountCredentials: Output? = null
private var virtualMachineImage: Output? = null
private var vmPriority: Output>? = null
private var vmSize: Output? = null
/**
* @param value Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs.
*/
@JvmName("maiokddhvfuyylin")
public suspend fun enableNodePublicIp(`value`: Output) {
this.enableNodePublicIp = value
}
/**
* @param value Network is isolated or not
*/
@JvmName("halderuwxoeyuwsm")
public suspend fun isolatedNetwork(`value`: Output) {
this.isolatedNetwork = value
}
/**
* @param value Compute OS Type
*/
@JvmName("vwfuhqhwiryrlajn")
public suspend fun osType(`value`: Output>) {
this.osType = value
}
/**
* @param value A property bag containing additional properties.
*/
@JvmName("ninvnukfmngwiftv")
public suspend fun propertyBag(`value`: Output) {
this.propertyBag = value
}
/**
* @param value State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.
*/
@JvmName("ndguhgupryokqlyd")
public suspend fun remoteLoginPortPublicAccess(`value`: Output>) {
this.remoteLoginPortPublicAccess = value
}
/**
* @param value Scale settings for AML Compute
*/
@JvmName("jnyoiwggjlielsdr")
public suspend fun scaleSettings(`value`: Output) {
this.scaleSettings = value
}
/**
* @param value Virtual network subnet resource ID the compute nodes belong to.
*/
@JvmName("cmtnorsypteuospa")
public suspend fun subnet(`value`: Output) {
this.subnet = value
}
/**
* @param value Credentials for an administrator user account that will be created on each compute node.
*/
@JvmName("ihgfdsdiflhhkwxw")
public suspend fun userAccountCredentials(`value`: Output) {
this.userAccountCredentials = value
}
/**
* @param value Virtual Machine image for AML Compute - windows only
*/
@JvmName("saxuxycspqyapsqq")
public suspend fun virtualMachineImage(`value`: Output) {
this.virtualMachineImage = value
}
/**
* @param value Virtual Machine priority
*/
@JvmName("xfdfgpxsphawufdr")
public suspend fun vmPriority(`value`: Output>) {
this.vmPriority = value
}
/**
* @param value Virtual Machine Size
*/
@JvmName("ngjxxhginbkgwcyu")
public suspend fun vmSize(`value`: Output) {
this.vmSize = value
}
/**
* @param value Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs.
*/
@JvmName("lrbsbvmnleksodal")
public suspend fun enableNodePublicIp(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableNodePublicIp = mapped
}
/**
* @param value Network is isolated or not
*/
@JvmName("eocppkeqnkelshcj")
public suspend fun isolatedNetwork(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.isolatedNetwork = mapped
}
/**
* @param value Compute OS Type
*/
@JvmName("cuwfiryfemeuuokq")
public suspend fun osType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.osType = mapped
}
/**
* @param value Compute OS Type
*/
@JvmName("ffknjyjoybixvidi")
public fun osType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.osType = mapped
}
/**
* @param value Compute OS Type
*/
@JvmName("uqvwmnkpinnbeojt")
public fun osType(`value`: OsType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.osType = mapped
}
/**
* @param value A property bag containing additional properties.
*/
@JvmName("ebrhcjbfaxihaipv")
public suspend fun propertyBag(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.propertyBag = mapped
}
/**
* @param value State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.
*/
@JvmName("hygsuwjwjdffrnwe")
public suspend fun remoteLoginPortPublicAccess(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.remoteLoginPortPublicAccess = mapped
}
/**
* @param value State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.
*/
@JvmName("hvbsygcfadykikiw")
public fun remoteLoginPortPublicAccess(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.remoteLoginPortPublicAccess = mapped
}
/**
* @param value State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.
*/
@JvmName("yusswqjyttissjom")
public fun remoteLoginPortPublicAccess(`value`: RemoteLoginPortPublicAccess) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.remoteLoginPortPublicAccess = mapped
}
/**
* @param value Scale settings for AML Compute
*/
@JvmName("xjrlloictijaidro")
public suspend fun scaleSettings(`value`: ScaleSettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.scaleSettings = mapped
}
/**
* @param argument Scale settings for AML Compute
*/
@JvmName("mvjjnxcbgpymatjy")
public suspend fun scaleSettings(argument: suspend ScaleSettingsArgsBuilder.() -> Unit) {
val toBeMapped = ScaleSettingsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.scaleSettings = mapped
}
/**
* @param value Virtual network subnet resource ID the compute nodes belong to.
*/
@JvmName("fvghgieqbjuxccck")
public suspend fun subnet(`value`: ResourceIdArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.subnet = mapped
}
/**
* @param argument Virtual network subnet resource ID the compute nodes belong to.
*/
@JvmName("ceucvvstsaxncgox")
public suspend fun subnet(argument: suspend ResourceIdArgsBuilder.() -> Unit) {
val toBeMapped = ResourceIdArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.subnet = mapped
}
/**
* @param value Credentials for an administrator user account that will be created on each compute node.
*/
@JvmName("rmycqpvqacrownti")
public suspend fun userAccountCredentials(`value`: UserAccountCredentialsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.userAccountCredentials = mapped
}
/**
* @param argument Credentials for an administrator user account that will be created on each compute node.
*/
@JvmName("ahbptixbehogqjbp")
public suspend fun userAccountCredentials(argument: suspend UserAccountCredentialsArgsBuilder.() -> Unit) {
val toBeMapped = UserAccountCredentialsArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.userAccountCredentials = mapped
}
/**
* @param value Virtual Machine image for AML Compute - windows only
*/
@JvmName("ushnndkuddtscjqn")
public suspend fun virtualMachineImage(`value`: VirtualMachineImageArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.virtualMachineImage = mapped
}
/**
* @param argument Virtual Machine image for AML Compute - windows only
*/
@JvmName("kscbtswxabodiwgt")
public suspend fun virtualMachineImage(argument: suspend VirtualMachineImageArgsBuilder.() -> Unit) {
val toBeMapped = VirtualMachineImageArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.virtualMachineImage = mapped
}
/**
* @param value Virtual Machine priority
*/
@JvmName("tvwuiasyadjaaufe")
public suspend fun vmPriority(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmPriority = mapped
}
/**
* @param value Virtual Machine priority
*/
@JvmName("wfmskqmgsikwiihn")
public fun vmPriority(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.vmPriority = mapped
}
/**
* @param value Virtual Machine priority
*/
@JvmName("voedslsgmcbnowot")
public fun vmPriority(`value`: VmPriority) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.vmPriority = mapped
}
/**
* @param value Virtual Machine Size
*/
@JvmName("qmtlwcetplqhphtt")
public suspend fun vmSize(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vmSize = mapped
}
internal fun build(): AmlComputePropertiesArgs = AmlComputePropertiesArgs(
enableNodePublicIp = enableNodePublicIp,
isolatedNetwork = isolatedNetwork,
osType = osType,
propertyBag = propertyBag,
remoteLoginPortPublicAccess = remoteLoginPortPublicAccess,
scaleSettings = scaleSettings,
subnet = subnet,
userAccountCredentials = userAccountCredentials,
virtualMachineImage = virtualMachineImage,
vmPriority = vmPriority,
vmSize = vmSize,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy