Domain Args
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());
}
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
Import
SageMaker Domains can be imported using the id
, e.g.,
$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8
Content copied to clipboard
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
Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly
. Valid values are PublicInternetOnly
and VpcOnly
.
Link copied to clipboard
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
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
Link copied to clipboard
The domain's settings.
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.