1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateNamespace`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`namespace_name(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::namespace_name) / [`set_namespace_name(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_namespace_name):<br>required: **true**<br><p>The name of the namespace.</p><br>
    ///   - [`admin_username(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::admin_username) / [`set_admin_username(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_admin_username):<br>required: **false**<br><p>The username of the administrator for the first database created in the namespace.</p><br>
    ///   - [`admin_user_password(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::admin_user_password) / [`set_admin_user_password(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_admin_user_password):<br>required: **false**<br><p>The password of the administrator for the first database created in the namespace.</p> <p>You can't use <code>adminUserPassword</code> if <code>manageAdminPassword</code> is true.</p><br>
    ///   - [`db_name(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::db_name) / [`set_db_name(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_db_name):<br>required: **false**<br><p>The name of the first database created in the namespace.</p><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The ID of the Amazon Web Services Key Management Service key used to encrypt your data.</p><br>
    ///   - [`default_iam_role_arn(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::default_iam_role_arn) / [`set_default_iam_role_arn(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_default_iam_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.</p><br>
    ///   - [`iam_roles(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::iam_roles) / [`set_iam_roles(Option<Vec::<String>>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_iam_roles):<br>required: **false**<br><p>A list of IAM roles to associate with the namespace.</p><br>
    ///   - [`log_exports(LogExport)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::log_exports) / [`set_log_exports(Option<Vec::<LogExport>>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_log_exports):<br>required: **false**<br><p>The types of logs the namespace can export. Available export types are <code>userlog</code>, <code>connectionlog</code>, and <code>useractivitylog</code>.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tag instances.</p><br>
    ///   - [`manage_admin_password(bool)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::manage_admin_password) / [`set_manage_admin_password(Option<bool>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_manage_admin_password):<br>required: **false**<br><p>If <code>true</code>, Amazon Redshift uses Secrets Manager to manage the namespace's admin credentials. You can't use <code>adminUserPassword</code> if <code>manageAdminPassword</code> is true. If <code>manageAdminPassword</code> is false or not set, Amazon Redshift uses <code>adminUserPassword</code> for the admin user account's password.</p><br>
    ///   - [`admin_password_secret_kms_key_id(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::admin_password_secret_kms_key_id) / [`set_admin_password_secret_kms_key_id(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_admin_password_secret_kms_key_id):<br>required: **false**<br><p>The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if <code>manageAdminPassword</code> is true.</p><br>
    ///   - [`redshift_idc_application_arn(impl Into<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::redshift_idc_application_arn) / [`set_redshift_idc_application_arn(Option<String>)`](crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::set_redshift_idc_application_arn):<br>required: **false**<br><p>The ARN for the Redshift application that integrates with IAM Identity Center.</p><br>
    /// - On success, responds with [`CreateNamespaceOutput`](crate::operation::create_namespace::CreateNamespaceOutput) with field(s):
    ///   - [`namespace(Option<Namespace>)`](crate::operation::create_namespace::CreateNamespaceOutput::namespace): <p>The created namespace object.</p>
    /// - On failure, responds with [`SdkError<CreateNamespaceError>`](crate::operation::create_namespace::CreateNamespaceError)
    pub fn create_namespace(&self) -> crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder {
        crate::operation::create_namespace::builders::CreateNamespaceFluentBuilder::new(self.handle.clone())
    }
}