Package com.pulumi.aws.sagemaker
Class Domain
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.sagemaker.Domain
-
public class Domain extends com.pulumi.resources.CustomResourceProvides a SageMaker AI Domain resource. ## Example Usage ### Basic usage
### Using Custom Imagespackage 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.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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.ArrayList; import java.util.Arrays; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("sagemaker.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); var exampleRole = new Role("exampleRole", RoleArgs.builder() .name("example") .path("/") .assumeRolePolicy(example.json()) .build()); var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() .defaultUserSettings(DomainDefaultUserSettingsArgs.builder() .executionRole(exampleRole.arn()) .build()) .domainName("example") .authMode("IAM") .vpcId(exampleAwsVpc.id()) .subnetIds(exampleAwsSubnet.id()) .build()); } }
## Import Using `pulumi import`, import SageMaker AI Domains using the `id`. For example: ```sh $ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8 ```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 com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs; import java.util.ArrayList; import java.util.Arrays; 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 example = new Image("example", ImageArgs.builder() .imageName("example") .roleArn(exampleAwsIamRole.arn()) .build()); var exampleAppImageConfig = new AppImageConfig("exampleAppImageConfig", AppImageConfigArgs.builder() .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() .kernelSpecs(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder() .name("example") .build()) .build()) .appImageConfigName("example") .build()); var exampleImageVersion = new ImageVersion("exampleImageVersion", ImageVersionArgs.builder() .imageName(example.id()) .baseImage("base-image") .build()); var exampleDomain = new Domain("exampleDomain", DomainArgs.builder() .defaultUserSettings(DomainDefaultUserSettingsArgs.builder() .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder() .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder() .appImageConfigName(exampleAppImageConfig.appImageConfigName()) .imageName(exampleImageVersion.imageName()) .build()) .build()) .executionRole(exampleAwsIamRole.arn()) .build()) .domainName("example") .authMode("IAM") .vpcId(exampleAwsVpc.id()) .subnetIds(exampleAwsSubnet.id()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Domain(java.lang.String name)Domain(java.lang.String name, DomainArgs args)Domain(java.lang.String name, DomainArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<java.lang.String>>appNetworkAccessType()com.pulumi.core.Output<java.util.Optional<java.lang.String>>appSecurityGroupManagement()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>authMode()com.pulumi.core.Output<java.util.Optional<DomainDefaultSpaceSettings>>defaultSpaceSettings()com.pulumi.core.Output<DomainDefaultUserSettings>defaultUserSettings()com.pulumi.core.Output<java.lang.String>domainName()com.pulumi.core.Output<java.util.Optional<DomainDomainSettings>>domainSettings()static Domainget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DomainState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>homeEfsFileSystemId()com.pulumi.core.Output<java.util.Optional<java.lang.String>>kmsKeyId()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<DomainRetentionPolicy>>retentionPolicy()com.pulumi.core.Output<java.lang.String>securityGroupIdForDomainBoundary()com.pulumi.core.Output<java.lang.String>singleSignOnApplicationArn()com.pulumi.core.Output<java.lang.String>singleSignOnManagedApplicationInstanceId()com.pulumi.core.Output<java.util.List<java.lang.String>>subnetIds()com.pulumi.core.Output<java.util.Optional<java.lang.String>>tagPropagation()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>url()com.pulumi.core.Output<java.lang.String>vpcId()
-
-
-
Constructor Detail
-
Domain
public Domain(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Domain
public Domain(java.lang.String name, DomainArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Domain
public Domain(java.lang.String name, DomainArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
appNetworkAccessType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> appNetworkAccessType()
- Returns:
- Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly`. Valid values are `PublicInternetOnly` and `VpcOnly`.
-
appSecurityGroupManagement
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> appSecurityGroupManagement()
- Returns:
- The entity that creates and manages the required security groups for inter-app communication in `VPCOnly` mode. Valid values are `Service` and `Customer`.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN assigned by AWS to this Domain.
-
authMode
public com.pulumi.core.Output<java.lang.String> authMode()
- Returns:
- The mode of authentication that members use to access the domain. Valid values are `IAM` and `SSO`.
-
defaultSpaceSettings
public com.pulumi.core.Output<java.util.Optional<DomainDefaultSpaceSettings>> defaultSpaceSettings()
- Returns:
- The default space settings. See `defaultSpaceSettings` Block below.
-
defaultUserSettings
public com.pulumi.core.Output<DomainDefaultUserSettings> defaultUserSettings()
- Returns:
- The default user settings. See `defaultUserSettings` Block below.
-
domainName
public com.pulumi.core.Output<java.lang.String> domainName()
- Returns:
- The domain name.
-
domainSettings
public com.pulumi.core.Output<java.util.Optional<DomainDomainSettings>> domainSettings()
- Returns:
- The domain settings. See `domainSettings` Block below.
-
homeEfsFileSystemId
public com.pulumi.core.Output<java.lang.String> homeEfsFileSystemId()
- Returns:
- The ID of the Amazon Elastic File System (EFS) managed by this Domain.
-
kmsKeyId
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kmsKeyId()
- Returns:
- The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
retentionPolicy
public com.pulumi.core.Output<java.util.Optional<DomainRetentionPolicy>> retentionPolicy()
- Returns:
- 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 `retentionPolicy` Block below.
-
securityGroupIdForDomainBoundary
public com.pulumi.core.Output<java.lang.String> securityGroupIdForDomainBoundary()
- Returns:
- The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.
-
singleSignOnApplicationArn
public com.pulumi.core.Output<java.lang.String> singleSignOnApplicationArn()
- Returns:
- The ARN of the application managed by SageMaker AI in IAM Identity Center. This value is only returned for domains created after September 19, 2023.
-
singleSignOnManagedApplicationInstanceId
public com.pulumi.core.Output<java.lang.String> singleSignOnManagedApplicationInstanceId()
- Returns:
- The SSO managed application instance ID.
-
subnetIds
public com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()
- Returns:
- The VPC subnets that Studio uses for communication.
-
tagPropagation
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> tagPropagation()
- Returns:
- Indicates whether custom tag propagation is supported for the domain. Defaults to `DISABLED`. Valid values are: `ENABLED` and `DISABLED`.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
url
public com.pulumi.core.Output<java.lang.String> url()
- Returns:
- The domain's URL.
-
vpcId
public com.pulumi.core.Output<java.lang.String> vpcId()
- Returns:
- ID of the VPC that Studio uses for communication. The following arguments are optional:
-
get
public static Domain get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DomainState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-