Domain
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
Properties
Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly
. Valid values are PublicInternetOnly
and VpcOnly
.
The entity that creates and manages the required security groups for inter-app communication in VPCOnly
mode. Valid values are Service
and Customer
.
The default space settings. See Default Space Settings below.
The default user settings. See Default User Settings below.* domain_name
- (Required) The domain name.
The domain's settings.
The ID of the Amazon Elastic File System (EFS) managed by this Domain.
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.
The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.
The SSO managed application instance ID.