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());
}
}
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
Properties
Link copied to clipboard