
com.pulumi.awsnative.sagemaker.kotlin.DomainArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.sagemaker.kotlin
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgs
import com.pulumi.awsnative.kotlin.inputs.CreateOnlyTagArgsBuilder
import com.pulumi.awsnative.sagemaker.DomainArgs.builder
import com.pulumi.awsnative.sagemaker.kotlin.enums.DomainAppNetworkAccessType
import com.pulumi.awsnative.sagemaker.kotlin.enums.DomainAppSecurityGroupManagement
import com.pulumi.awsnative.sagemaker.kotlin.enums.DomainAuthMode
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainDefaultSpaceSettingsArgs
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainDefaultSpaceSettingsArgsBuilder
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainSettingsArgs
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainSettingsArgsBuilder
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainUserSettingsArgs
import com.pulumi.awsnative.sagemaker.kotlin.inputs.DomainUserSettingsArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::SageMaker::Domain
* @property appNetworkAccessType Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.
* @property appSecurityGroupManagement The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.
* @property authMode The mode of authentication that members use to access the domain.
* @property defaultSpaceSettings The default space settings.
* @property defaultUserSettings The default user settings.
* @property domainName A name for the domain.
* @property domainSettings A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.
* @property kmsKeyId SageMaker uses AWS KMS to encrypt the EFS volume attached to the domain with an AWS managed customer master key (CMK) by default.
* @property subnetIds The VPC subnets that Studio uses for communication.
* @property tags A list of tags to apply to the user profile.
* @property vpcId The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
*/
public data class DomainArgs(
public val appNetworkAccessType: Output? = null,
public val appSecurityGroupManagement: Output? = null,
public val authMode: Output? = null,
public val defaultSpaceSettings: Output? = null,
public val defaultUserSettings: Output? = null,
public val domainName: Output? = null,
public val domainSettings: Output? = null,
public val kmsKeyId: Output? = null,
public val subnetIds: Output>? = null,
public val tags: Output>? = null,
public val vpcId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.sagemaker.DomainArgs =
com.pulumi.awsnative.sagemaker.DomainArgs.builder()
.appNetworkAccessType(
appNetworkAccessType?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.appSecurityGroupManagement(
appSecurityGroupManagement?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.authMode(authMode?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.defaultSpaceSettings(
defaultSpaceSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.defaultUserSettings(
defaultUserSettings?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.domainName(domainName?.applyValue({ args0 -> args0 }))
.domainSettings(domainSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.kmsKeyId(kmsKeyId?.applyValue({ args0 -> args0 }))
.subnetIds(subnetIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.vpcId(vpcId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DomainArgs].
*/
@PulumiTagMarker
public class DomainArgsBuilder internal constructor() {
private var appNetworkAccessType: Output? = null
private var appSecurityGroupManagement: Output? = null
private var authMode: Output? = null
private var defaultSpaceSettings: Output? = null
private var defaultUserSettings: Output? = null
private var domainName: Output? = null
private var domainSettings: Output? = null
private var kmsKeyId: Output? = null
private var subnetIds: Output>? = null
private var tags: Output>? = null
private var vpcId: Output? = null
/**
* @param value Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.
*/
@JvmName("bmfofyhxgcjwslyu")
public suspend fun appNetworkAccessType(`value`: Output) {
this.appNetworkAccessType = value
}
/**
* @param value The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.
*/
@JvmName("dvabrhuotpfpmtwi")
public suspend fun appSecurityGroupManagement(`value`: Output) {
this.appSecurityGroupManagement = value
}
/**
* @param value The mode of authentication that members use to access the domain.
*/
@JvmName("bkwtglefxfyytkcn")
public suspend fun authMode(`value`: Output) {
this.authMode = value
}
/**
* @param value The default space settings.
*/
@JvmName("aptuwoarjkljuybo")
public suspend fun defaultSpaceSettings(`value`: Output) {
this.defaultSpaceSettings = value
}
/**
* @param value The default user settings.
*/
@JvmName("jfyjwuuhidotnmlv")
public suspend fun defaultUserSettings(`value`: Output) {
this.defaultUserSettings = value
}
/**
* @param value A name for the domain.
*/
@JvmName("vqaltwtwcxicobcd")
public suspend fun domainName(`value`: Output) {
this.domainName = value
}
/**
* @param value A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.
*/
@JvmName("qcvalxdpjydltquw")
public suspend fun domainSettings(`value`: Output) {
this.domainSettings = value
}
/**
* @param value SageMaker uses AWS KMS to encrypt the EFS volume attached to the domain with an AWS managed customer master key (CMK) by default.
*/
@JvmName("bnqtgtrfyjjrlwxm")
public suspend fun kmsKeyId(`value`: Output) {
this.kmsKeyId = value
}
/**
* @param value The VPC subnets that Studio uses for communication.
*/
@JvmName("wcvstugevjrtjall")
public suspend fun subnetIds(`value`: Output>) {
this.subnetIds = value
}
@JvmName("vapreqpbuaxtuihh")
public suspend fun subnetIds(vararg values: Output) {
this.subnetIds = Output.all(values.asList())
}
/**
* @param values The VPC subnets that Studio uses for communication.
*/
@JvmName("fgurqhgfqmttydke")
public suspend fun subnetIds(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy