Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.machinelearningservices.kotlin.inputs
import com.pulumi.azurenative.machinelearningservices.inputs.ComputeInstancePropertiesArgs.builder
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.ApplicationSharingPolicy
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.ComputeInstanceAuthorizationType
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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Compute Instance properties
* @property applicationSharingPolicy Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.
* @property computeInstanceAuthorizationType The Compute Instance Authorization type. Available values are personal (default).
* @property customServices List of Custom Services added to the compute.
* @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 personalComputeInstanceSettings Settings for a personal compute instance.
* @property schedules The list of schedules to be applied on the computes.
* @property setupScripts Details of customized scripts to execute for setting up the cluster.
* @property sshSettings Specifies policy and settings for SSH access.
* @property subnet Virtual network subnet resource ID the compute nodes belong to.
* @property vmSize Virtual Machine Size
*/
public data class ComputeInstancePropertiesArgs(
public val applicationSharingPolicy: Output>? = null,
public val computeInstanceAuthorizationType: Output>? = null,
public val customServices: Output>? = null,
public val enableNodePublicIp: Output? = null,
public val personalComputeInstanceSettings: Output? = null,
public val schedules: Output? = null,
public val setupScripts: Output? = null,
public val sshSettings: Output? = null,
public val subnet: Output? = null,
public val vmSize: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.machinelearningservices.inputs.ComputeInstancePropertiesArgs =
com.pulumi.azurenative.machinelearningservices.inputs.ComputeInstancePropertiesArgs.builder()
.applicationSharingPolicy(
applicationSharingPolicy?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.computeInstanceAuthorizationType(
computeInstanceAuthorizationType?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.customServices(
customServices?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.enableNodePublicIp(enableNodePublicIp?.applyValue({ args0 -> args0 }))
.personalComputeInstanceSettings(
personalComputeInstanceSettings?.applyValue({ args0 ->
args0.let({ args0 -> args0.toJava() })
}),
)
.schedules(schedules?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.setupScripts(setupScripts?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sshSettings(sshSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.subnet(subnet?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.vmSize(vmSize?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ComputeInstancePropertiesArgs].
*/
@PulumiTagMarker
public class ComputeInstancePropertiesArgsBuilder internal constructor() {
private var applicationSharingPolicy: Output>? = null
private var computeInstanceAuthorizationType:
Output>? = null
private var customServices: Output>? = null
private var enableNodePublicIp: Output? = null
private var personalComputeInstanceSettings: Output? = null
private var schedules: Output? = null
private var setupScripts: Output? = null
private var sshSettings: Output? = null
private var subnet: Output? = null
private var vmSize: Output? = null
/**
* @param value Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.
*/
@JvmName("xpqeiisxnnbbrwvp")
public suspend fun applicationSharingPolicy(`value`: Output>) {
this.applicationSharingPolicy = value
}
/**
* @param value The Compute Instance Authorization type. Available values are personal (default).
*/
@JvmName("roqwlglchyydggwq")
public suspend fun computeInstanceAuthorizationType(`value`: Output>) {
this.computeInstanceAuthorizationType = value
}
/**
* @param value List of Custom Services added to the compute.
*/
@JvmName("cfaucfnusbemrdcu")
public suspend fun customServices(`value`: Output>) {
this.customServices = value
}
@JvmName("oijjcjeivplfflyv")
public suspend fun customServices(vararg values: Output) {
this.customServices = Output.all(values.asList())
}
/**
* @param values List of Custom Services added to the compute.
*/
@JvmName("bnpahktdupqleoul")
public suspend fun customServices(values: List