oleksiimorozenko / terraform-aws-sagemaker-domain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AWS SageMaker Domain Terraform module

Terraform module for AWS SageMaker Domain creation

Usage

module "sagemaker_domain" {
  source  = "data-platform-hq/sagemaker-domain/aws"
  version = "~> 1.0"
  
  tags = {
    ENV = "DEV"
  }
  
  domain_name = "domain1"
  auth_mode   = "IAM"
  default_user_settings = {
    execution_role = "arn:aws:iam::123456789123:role/service-role/role1"
  }
  vpc_id     = "vpc-312434325435435"
  subnet_ids = ["subnet-1424215135", "subnet-125151515", "subnet-5654251356"]
}

Requirements

Name Version
terraform >= 1.0
aws >= 5.1.0

Providers

Name Version
aws >= 5.1.0

Modules

No modules.

Resources

Name Type
aws_sagemaker_domain.this resource

Inputs

Name Description Type Default Required
create Controls if resources should be created (affects nearly all resources) bool true no
tags A map of tags to add to all resources map(string) {} no
domain_name The domain name string n/a yes
auth_mode The mode of authentication that members use to access the domain. Valid values are IAM and SSO string n/a yes
default_user_settings The default user settings See type in variables.tf file n/a yes
vpc_id The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication string n/a yes
subnet_ids The VPC subnets that Studio uses for communication list(string) n/a yes
app_network_access_type Specifies the VPC used for non-EFS traffic string PublicInternetOnly no
app_security_group_management The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Valid values are Service and Customer string null no
domain_settings The domain's settings
object({
execution_role_identity_config = optional(string)
security_group_ids = optional(list(string))
r_studio_server_pro_domain_settings = optional(object({
domain_execution_role_arn = string
r_studio_connect_url = optional(string)
r_studio_package_manager_url = optional(string)
default_resource_spec = optional(object({
instance_type = optional(string)
lifecycle_config_arn = optional(string)
sagemaker_image_arn = optional(string)
sagemaker_image_version_arn = optional(string)
}))
}))
})
null no
kms_key_id The AWS KMS customer managed CMK used to encrypt the EFS volume attached to the domain string null no
retention_policy_home_efs_file_system The retention policy for data stored on an Amazon Elastic File System (EFS) volume. Valid values are Retain or Delete string null no

Outputs

Name Description
id The ID of the Domain
arn The Amazon Resource Name (ARN) assigned by AWS to this Domain
url The domain's URL
single_sign_on_managed_application_instance_id The SSO managed application instance ID
security_group_id_for_domain_boundary The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app
home_efs_file_system_id The ID of the Amazon Elastic File System (EFS) managed by this Domain

License

Apache 2 Licensed. For more information please see LICENSE

About

License:Apache License 2.0


Languages

Language:HCL 100.0%