DomainArgs

data class DomainArgs(val appNetworkAccessType: Output<String>? = null, val appSecurityGroupManagement: Output<String>? = null, val authMode: Output<String>? = null, val defaultSpaceSettings: Output<DomainDefaultSpaceSettingsArgs>? = null, val defaultUserSettings: Output<DomainDefaultUserSettingsArgs>? = null, val domainName: Output<String>? = null, val domainSettings: Output<DomainDomainSettingsArgs>? = null, val kmsKeyId: Output<String>? = null, val retentionPolicy: Output<DomainRetentionPolicyArgs>? = null, val subnetIds: Output<List<String>>? = null, val tags: Output<Map<String, String>>? = null, val vpcId: Output<String>? = null) : ConvertibleToJava<DomainArgs>

Provides a SageMaker Domain resource.

Example Usage

Basic usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.sagemaker.Domain;
import com.pulumi.aws.sagemaker.DomainArgs;
import com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.actions("sts:AssumeRole")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("Service")
.identifiers("sagemaker.amazonaws.com")
.build())
.build())
.build());
var exampleRole = new Role("exampleRole", RoleArgs.builder()
.path("/")
.assumeRolePolicy(examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
.build());
var exampleDomain = new Domain("exampleDomain", DomainArgs.builder()
.domainName("example")
.authMode("IAM")
.vpcId(aws_vpc.example().id())
.subnetIds(aws_subnet.example().id())
.defaultUserSettings(DomainDefaultUserSettingsArgs.builder()
.executionRole(exampleRole.arn())
.build())
.build());
}
}

Using Custom Images

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sagemaker.Image;
import com.pulumi.aws.sagemaker.ImageArgs;
import com.pulumi.aws.sagemaker.AppImageConfig;
import com.pulumi.aws.sagemaker.AppImageConfigArgs;
import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;
import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs;
import com.pulumi.aws.sagemaker.ImageVersion;
import com.pulumi.aws.sagemaker.ImageVersionArgs;
import com.pulumi.aws.sagemaker.Domain;
import com.pulumi.aws.sagemaker.DomainArgs;
import com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;
import com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleImage = new Image("exampleImage", ImageArgs.builder()
.imageName("example")
.roleArn(aws_iam_role.example().arn())
.build());
var exampleAppImageConfig = new AppImageConfig("exampleAppImageConfig", AppImageConfigArgs.builder()
.appImageConfigName("example")
.kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()
.kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder()
.name("example")
.build())
.build())
.build());
var exampleImageVersion = new ImageVersion("exampleImageVersion", ImageVersionArgs.builder()
.imageName(exampleImage.id())
.baseImage("base-image")
.build());
var exampleDomain = new Domain("exampleDomain", DomainArgs.builder()
.domainName("example")
.authMode("IAM")
.vpcId(aws_vpc.example().id())
.subnetIds(aws_subnet.example().id())
.defaultUserSettings(DomainDefaultUserSettingsArgs.builder()
.executionRole(aws_iam_role.example().arn())
.kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()
.customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()
.appImageConfigName(exampleAppImageConfig.appImageConfigName())
.imageName(exampleImageVersion.imageName())
.build())
.build())
.build())
.build());
}
}

Import

SageMaker Domains can be imported using the id, e.g.,

$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8

Constructors

Link copied to clipboard
constructor(appNetworkAccessType: Output<String>? = null, appSecurityGroupManagement: Output<String>? = null, authMode: Output<String>? = null, defaultSpaceSettings: Output<DomainDefaultSpaceSettingsArgs>? = null, defaultUserSettings: Output<DomainDefaultUserSettingsArgs>? = null, domainName: Output<String>? = null, domainSettings: Output<DomainDomainSettingsArgs>? = null, kmsKeyId: Output<String>? = null, retentionPolicy: Output<DomainRetentionPolicyArgs>? = null, subnetIds: Output<List<String>>? = null, tags: Output<Map<String, String>>? = null, vpcId: Output<String>? = null)

Properties

Link copied to clipboard
val appNetworkAccessType: Output<String>? = null

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. Valid values are PublicInternetOnly and VpcOnly.

Link copied to clipboard
val appSecurityGroupManagement: Output<String>? = null

The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Valid values are Service and Customer.

Link copied to clipboard
val authMode: Output<String>? = null

The mode of authentication that members use to access the domain. Valid values are IAM and SSO.

Link copied to clipboard

The default space settings. See Default Space Settings below.

Link copied to clipboard

The default user settings. See Default User Settings below.* domain_name - (Required) The domain name.

Link copied to clipboard
val domainName: Output<String>? = null
Link copied to clipboard

The domain's settings.

Link copied to clipboard
val kmsKeyId: Output<String>? = null

The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain.

Link copied to clipboard

The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained. See Retention Policy below.

Link copied to clipboard
val subnetIds: Output<List<String>>? = null

The VPC subnets that Studio uses for communication.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val vpcId: Output<String>? = null

The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. The following arguments are optional:

Functions

Link copied to clipboard
open override fun toJava(): DomainArgs