pub struct CreateDomainFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateDomain
.
Creates a Domain
used by Amazon SageMaker Studio. A domain consists of an associated Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. Users within a domain can share notebook files and other artifacts with each other.
EFS storage
When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.
SageMaker uses the Amazon Web Services Key Management Service (Amazon Web Services KMS) to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, you can specify a customer managed key. For more information, see Protect Data at Rest Using Encryption.
VPC configuration
All SageMaker Studio traffic between the domain and the EFS volume is through the specified VPC and subnets. For other Studio traffic, you can specify the AppNetworkAccessType
parameter. AppNetworkAccessType
corresponds to the network access type that you choose when you onboard to Studio. The following options are available:
-
PublicInternetOnly
- Non-EFS traffic goes through a VPC managed by Amazon SageMaker, which allows internet access. This is the default value. -
VpcOnly
- All Studio traffic is through the specified VPC and subnets. Internet access is disabled by default. To allow internet access, you must specify a NAT gateway.When internet access is disabled, you won't be able to run a Studio notebook or to train or host models unless your VPC has an interface endpoint to the SageMaker API and runtime or a NAT gateway and your security groups allow outbound connections.
NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a SageMaker Studio app successfully.
For more information, see Connect SageMaker Studio Notebooks to Resources in a VPC.
Implementations§
source§impl CreateDomainFluentBuilder
impl CreateDomainFluentBuilder
sourcepub fn as_input(&self) -> &CreateDomainInputBuilder
pub fn as_input(&self) -> &CreateDomainInputBuilder
Access the CreateDomain as a reference.
sourcepub async fn send(
self
) -> Result<CreateDomainOutput, SdkError<CreateDomainError, HttpResponse>>
pub async fn send( self ) -> Result<CreateDomainOutput, SdkError<CreateDomainError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub async fn customize(
self
) -> Result<CustomizableOperation<CreateDomainOutput, CreateDomainError>, SdkError<CreateDomainError>>
pub async fn customize( self ) -> Result<CustomizableOperation<CreateDomainOutput, CreateDomainError>, SdkError<CreateDomainError>>
Consumes this builder, creating a customizable operation that can be modified before being sent.
sourcepub fn domain_name(self, input: impl Into<String>) -> Self
pub fn domain_name(self, input: impl Into<String>) -> Self
A name for the domain.
sourcepub fn set_domain_name(self, input: Option<String>) -> Self
pub fn set_domain_name(self, input: Option<String>) -> Self
A name for the domain.
sourcepub fn get_domain_name(&self) -> &Option<String>
pub fn get_domain_name(&self) -> &Option<String>
A name for the domain.
sourcepub fn auth_mode(self, input: AuthMode) -> Self
pub fn auth_mode(self, input: AuthMode) -> Self
The mode of authentication that members use to access the domain.
sourcepub fn set_auth_mode(self, input: Option<AuthMode>) -> Self
pub fn set_auth_mode(self, input: Option<AuthMode>) -> Self
The mode of authentication that members use to access the domain.
sourcepub fn get_auth_mode(&self) -> &Option<AuthMode>
pub fn get_auth_mode(&self) -> &Option<AuthMode>
The mode of authentication that members use to access the domain.
sourcepub fn default_user_settings(self, input: UserSettings) -> Self
pub fn default_user_settings(self, input: UserSettings) -> Self
The default settings to use to create a user profile when UserSettings
isn't specified in the call to the CreateUserProfile
API.
SecurityGroups
is aggregated when specified in both calls. For all other settings in UserSettings
, the values specified in CreateUserProfile
take precedence over those specified in CreateDomain
.
sourcepub fn set_default_user_settings(self, input: Option<UserSettings>) -> Self
pub fn set_default_user_settings(self, input: Option<UserSettings>) -> Self
The default settings to use to create a user profile when UserSettings
isn't specified in the call to the CreateUserProfile
API.
SecurityGroups
is aggregated when specified in both calls. For all other settings in UserSettings
, the values specified in CreateUserProfile
take precedence over those specified in CreateDomain
.
sourcepub fn get_default_user_settings(&self) -> &Option<UserSettings>
pub fn get_default_user_settings(&self) -> &Option<UserSettings>
The default settings to use to create a user profile when UserSettings
isn't specified in the call to the CreateUserProfile
API.
SecurityGroups
is aggregated when specified in both calls. For all other settings in UserSettings
, the values specified in CreateUserProfile
take precedence over those specified in CreateDomain
.
sourcepub fn subnet_ids(self, input: impl Into<String>) -> Self
pub fn subnet_ids(self, input: impl Into<String>) -> Self
Appends an item to SubnetIds
.
To override the contents of this collection use set_subnet_ids
.
The VPC subnets that Studio uses for communication.
sourcepub fn set_subnet_ids(self, input: Option<Vec<String>>) -> Self
pub fn set_subnet_ids(self, input: Option<Vec<String>>) -> Self
The VPC subnets that Studio uses for communication.
sourcepub fn get_subnet_ids(&self) -> &Option<Vec<String>>
pub fn get_subnet_ids(&self) -> &Option<Vec<String>>
The VPC subnets that Studio uses for communication.
sourcepub fn vpc_id(self, input: impl Into<String>) -> Self
pub fn vpc_id(self, input: impl Into<String>) -> Self
The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
sourcepub fn set_vpc_id(self, input: Option<String>) -> Self
pub fn set_vpc_id(self, input: Option<String>) -> Self
The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
sourcepub fn get_vpc_id(&self) -> &Option<String>
pub fn get_vpc_id(&self) -> &Option<String>
The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
Appends an item to Tags
.
To override the contents of this collection use set_tags
.
Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search
API.
Tags that you specify for the Domain are also added to all Apps that the Domain launches.
Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search
API.
Tags that you specify for the Domain are also added to all Apps that the Domain launches.
Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search
API.
Tags that you specify for the Domain are also added to all Apps that the Domain launches.
sourcepub fn app_network_access_type(self, input: AppNetworkAccessType) -> Self
pub fn app_network_access_type(self, input: AppNetworkAccessType) -> Self
Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly
.
-
PublicInternetOnly
- Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access -
VpcOnly
- All Studio traffic is through the specified VPC and subnets
sourcepub fn set_app_network_access_type(
self,
input: Option<AppNetworkAccessType>
) -> Self
pub fn set_app_network_access_type( self, input: Option<AppNetworkAccessType> ) -> Self
Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly
.
-
PublicInternetOnly
- Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access -
VpcOnly
- All Studio traffic is through the specified VPC and subnets
sourcepub fn get_app_network_access_type(&self) -> &Option<AppNetworkAccessType>
pub fn get_app_network_access_type(&self) -> &Option<AppNetworkAccessType>
Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly
.
-
PublicInternetOnly
- Non-EFS traffic is through a VPC managed by Amazon SageMaker, which allows direct internet access -
VpcOnly
- All Studio traffic is through the specified VPC and subnets
sourcepub fn home_efs_file_system_kms_key_id(self, input: impl Into<String>) -> Self
👎Deprecated: This property is deprecated, use KmsKeyId instead.
pub fn home_efs_file_system_kms_key_id(self, input: impl Into<String>) -> Self
Use KmsKeyId
.
sourcepub fn set_home_efs_file_system_kms_key_id(self, input: Option<String>) -> Self
👎Deprecated: This property is deprecated, use KmsKeyId instead.
pub fn set_home_efs_file_system_kms_key_id(self, input: Option<String>) -> Self
Use KmsKeyId
.
sourcepub fn get_home_efs_file_system_kms_key_id(&self) -> &Option<String>
👎Deprecated: This property is deprecated, use KmsKeyId instead.
pub fn get_home_efs_file_system_kms_key_id(&self) -> &Option<String>
Use KmsKeyId
.
sourcepub fn kms_key_id(self, input: impl Into<String>) -> Self
pub fn kms_key_id(self, input: impl Into<String>) -> Self
SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.
sourcepub fn set_kms_key_id(self, input: Option<String>) -> Self
pub fn set_kms_key_id(self, input: Option<String>) -> Self
SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.
sourcepub fn get_kms_key_id(&self) -> &Option<String>
pub fn get_kms_key_id(&self) -> &Option<String>
SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.
sourcepub fn app_security_group_management(
self,
input: AppSecurityGroupManagement
) -> Self
pub fn app_security_group_management( self, input: AppSecurityGroupManagement ) -> Self
The entity that creates and manages the required security groups for inter-app communication in VPCOnly
mode. Required when CreateDomain.AppNetworkAccessType
is VPCOnly
and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn
is provided. If setting up the domain for use with RStudio, this value must be set to Service
.
sourcepub fn set_app_security_group_management(
self,
input: Option<AppSecurityGroupManagement>
) -> Self
pub fn set_app_security_group_management( self, input: Option<AppSecurityGroupManagement> ) -> Self
The entity that creates and manages the required security groups for inter-app communication in VPCOnly
mode. Required when CreateDomain.AppNetworkAccessType
is VPCOnly
and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn
is provided. If setting up the domain for use with RStudio, this value must be set to Service
.
sourcepub fn get_app_security_group_management(
&self
) -> &Option<AppSecurityGroupManagement>
pub fn get_app_security_group_management( &self ) -> &Option<AppSecurityGroupManagement>
The entity that creates and manages the required security groups for inter-app communication in VPCOnly
mode. Required when CreateDomain.AppNetworkAccessType
is VPCOnly
and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn
is provided. If setting up the domain for use with RStudio, this value must be set to Service
.
sourcepub fn domain_settings(self, input: DomainSettings) -> Self
pub fn domain_settings(self, input: DomainSettings) -> Self
A collection of Domain
settings.
sourcepub fn set_domain_settings(self, input: Option<DomainSettings>) -> Self
pub fn set_domain_settings(self, input: Option<DomainSettings>) -> Self
A collection of Domain
settings.
sourcepub fn get_domain_settings(&self) -> &Option<DomainSettings>
pub fn get_domain_settings(&self) -> &Option<DomainSettings>
A collection of Domain
settings.
sourcepub fn default_space_settings(self, input: DefaultSpaceSettings) -> Self
pub fn default_space_settings(self, input: DefaultSpaceSettings) -> Self
The default settings used to create a space.
sourcepub fn set_default_space_settings(
self,
input: Option<DefaultSpaceSettings>
) -> Self
pub fn set_default_space_settings( self, input: Option<DefaultSpaceSettings> ) -> Self
The default settings used to create a space.
sourcepub fn get_default_space_settings(&self) -> &Option<DefaultSpaceSettings>
pub fn get_default_space_settings(&self) -> &Option<DefaultSpaceSettings>
The default settings used to create a space.
Trait Implementations§
source§impl Clone for CreateDomainFluentBuilder
impl Clone for CreateDomainFluentBuilder
source§fn clone(&self) -> CreateDomainFluentBuilder
fn clone(&self) -> CreateDomainFluentBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more