aws_sdk_sagemaker/client/
create_domain.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateDomain`](crate::operation::create_domain::builders::CreateDomainFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`domain_name(impl Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_domain_name):<br>required: **true**<br><p>A name for the domain.</p><br>
7    ///   - [`auth_mode(AuthMode)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::auth_mode) / [`set_auth_mode(Option<AuthMode>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_auth_mode):<br>required: **true**<br><p>The mode of authentication that members use to access the domain.</p><br>
8    ///   - [`default_user_settings(UserSettings)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::default_user_settings) / [`set_default_user_settings(Option<UserSettings>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_default_user_settings):<br>required: **true**<br><p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p> <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p><br>
9    ///   - [`domain_settings(DomainSettings)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::domain_settings) / [`set_domain_settings(Option<DomainSettings>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_domain_settings):<br>required: **false**<br><p>A collection of <code>Domain</code> settings.</p><br>
10    ///   - [`subnet_ids(impl Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec::<String>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_subnet_ids):<br>required: **false**<br><p>The VPC subnets that the domain uses for communication.</p><br>
11    ///   - [`vpc_id(impl Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_vpc_id):<br>required: **false**<br><p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p><br>
12    ///   - [`tags(Tag)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_tags):<br>required: **false**<br><p>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 <code>Search</code> API.</p> <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p><br>
13    ///   - [`app_network_access_type(AppNetworkAccessType)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::app_network_access_type) / [`set_app_network_access_type(Option<AppNetworkAccessType>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_app_network_access_type):<br>required: **false**<br><p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p> <ul>  <li>   <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>  <li>   <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li> </ul><br>
14    ///   - [`home_efs_file_system_kms_key_id(impl Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::home_efs_file_system_kms_key_id) / [`set_home_efs_file_system_kms_key_id(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_home_efs_file_system_kms_key_id):<br>required: **false**<br><p>Use <code>KmsKeyId</code>.</p><br>
15    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p><br>
16    ///   - [`app_security_group_management(AppSecurityGroupManagement)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::app_security_group_management) / [`set_app_security_group_management(Option<AppSecurityGroupManagement>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_app_security_group_management):<br>required: **false**<br><p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p><br>
17    ///   - [`tag_propagation(TagPropagation)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::tag_propagation) / [`set_tag_propagation(Option<TagPropagation>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_tag_propagation):<br>required: **false**<br><p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p><br>
18    ///   - [`default_space_settings(DefaultSpaceSettings)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::default_space_settings) / [`set_default_space_settings(Option<DefaultSpaceSettings>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_default_space_settings):<br>required: **false**<br><p>The default settings for shared spaces that users create in the domain.</p><br>
19    /// - On success, responds with [`CreateDomainOutput`](crate::operation::create_domain::CreateDomainOutput) with field(s):
20    ///   - [`domain_arn(Option<String>)`](crate::operation::create_domain::CreateDomainOutput::domain_arn): <p>The Amazon Resource Name (ARN) of the created domain.</p>
21    ///   - [`domain_id(Option<String>)`](crate::operation::create_domain::CreateDomainOutput::domain_id): <p>The ID of the created domain.</p>
22    ///   - [`url(Option<String>)`](crate::operation::create_domain::CreateDomainOutput::url): <p>The URL to the created domain.</p>
23    /// - On failure, responds with [`SdkError<CreateDomainError>`](crate::operation::create_domain::CreateDomainError)
24    pub fn create_domain(&self) -> crate::operation::create_domain::builders::CreateDomainFluentBuilder {
25        crate::operation::create_domain::builders::CreateDomainFluentBuilder::new(self.handle.clone())
26    }
27}