Struct aws_sdk_sagemaker::client::fluent_builders::CreateDomain
source · [−]pub struct CreateDomain { /* 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. An Amazon Web Services account is limited to one domain per region. 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
sourceimpl CreateDomain
impl CreateDomain
sourcepub async fn send(
self
) -> Result<CreateDomainOutput, SdkError<CreateDomainError>>
pub async fn send(
self
) -> Result<CreateDomainOutput, SdkError<CreateDomainError>>
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 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 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 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 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 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.
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.
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 home_efs_file_system_kms_key_id(self, input: impl Into<String>) -> Self
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
pub fn set_home_efs_file_system_kms_key_id(self, input: Option<String>) -> Self
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 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.
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.
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.
Trait Implementations
sourceimpl Clone for CreateDomain
impl Clone for CreateDomain
sourcefn clone(&self) -> CreateDomain
fn clone(&self) -> CreateDomain
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for CreateDomain
impl Send for CreateDomain
impl Sync for CreateDomain
impl Unpin for CreateDomain
impl !UnwindSafe for CreateDomain
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more