1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateDomain`](crate::operation::create_domain::builders::CreateDomainFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`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): <p>A name for the domain.</p>
    ///   - [`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): <p>The mode of authentication that members use to access the domain.</p>
    ///   - [`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): <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>
    ///   - [`subnet_ids(Vec<String>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec<String>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_subnet_ids): <p>The VPC subnets that Studio uses for communication.</p>
    ///   - [`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): <p>The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.</p>
    ///   - [`tags(Vec<Tag>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_domain::builders::CreateDomainFluentBuilder::set_tags): <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>
    ///   - [`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): <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, which allows direct internet access</p> </li>   <li> <p> <code>VpcOnly</code> - All Studio traffic is through the specified VPC and subnets</p> </li>  </ul>
    ///   - [`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): <p>Use <code>KmsKeyId</code>.</p>
    ///   - [`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): <p>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.</p>
    ///   - [`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): <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.</p>
    ///   - [`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): <p>A collection of <code>Domain</code> settings.</p>
    ///   - [`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): <p>The default settings used to create a space.</p>
    /// - On success, responds with [`CreateDomainOutput`](crate::operation::create_domain::CreateDomainOutput) with field(s):
    ///   - [`domain_arn(Option<String>)`](crate::operation::create_domain::CreateDomainOutput::domain_arn): <p>The Amazon Resource Name (ARN) of the created domain.</p>
    ///   - [`url(Option<String>)`](crate::operation::create_domain::CreateDomainOutput::url): <p>The URL to the created domain.</p>
    /// - On failure, responds with [`SdkError<CreateDomainError>`](crate::operation::create_domain::CreateDomainError)
    pub fn create_domain(
        &self,
    ) -> crate::operation::create_domain::builders::CreateDomainFluentBuilder {
        crate::operation::create_domain::builders::CreateDomainFluentBuilder::new(
            self.handle.clone(),
        )
    }
}