aws-sdk-redshiftserverless 1.116.0

AWS SDK for Redshift Serverless
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateNamespace`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`namespace_name(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::namespace_name) / [`set_namespace_name(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_namespace_name):<br>required: **true**<br><p>The name of the namespace to update. You can't update the name of a namespace once it is created.</p><br>
    ///   - [`admin_user_password(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::admin_user_password) / [`set_admin_user_password(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_admin_user_password):<br>required: **false**<br><p>The password of the administrator for the first database created in the namespace. This parameter must be updated together with <code>adminUsername</code>.</p> <p>You can't use <code>adminUserPassword</code> if <code>manageAdminPassword</code> is true.</p> <p>If your admin user account is locked, this operation also unlocks your account and resets the failed-login counter. This option is available only when account lockout security is enabled for the namespace.</p><br>
    ///   - [`admin_username(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::admin_username) / [`set_admin_username(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_admin_username):<br>required: **false**<br><p>The username of the administrator for the first database created in the namespace. This parameter must be updated together with <code>adminUserPassword</code>.</p><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::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::update_namespace::builders::UpdateNamespaceFluentBuilder::default_iam_role_arn) / [`set_default_iam_role_arn(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::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. This parameter must be updated together with <code>iamRoles</code>.</p><br>
    ///   - [`iam_roles(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::iam_roles) / [`set_iam_roles(Option<Vec::<String>>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_iam_roles):<br>required: **false**<br><p>A list of IAM roles to associate with the namespace. This parameter must be updated together with <code>defaultIamRoleArn</code>.</p><br>
    ///   - [`log_exports(LogExport)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::log_exports) / [`set_log_exports(Option<Vec::<LogExport>>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_log_exports):<br>required: **false**<br><p>The types of logs the namespace can export. The export types are <code>userlog</code>, <code>connectionlog</code>, and <code>useractivitylog</code>.</p><br>
    ///   - [`manage_admin_password(bool)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::manage_admin_password) / [`set_manage_admin_password(Option<bool>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::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::update_namespace::builders::UpdateNamespaceFluentBuilder::admin_password_secret_kms_key_id) / [`set_admin_password_secret_kms_key_id(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::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>
    ///   - [`log_destination_type(LogDestinationType)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::log_destination_type) / [`set_log_destination_type(Option<LogDestinationType>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_log_destination_type):<br>required: **false**<br><p>The destination for the log data. Valid values are <code>s3table</code> and <code>cloudwatch</code>.</p> <p>Set this to <code>s3table</code> to manage Amazon S3 Tables system-table publishing for the namespace.</p><br>
    ///   - [`s3_table_action(S3TableAction)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::s3_table_action) / [`set_s3_table_action(Option<S3TableAction>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_s3_table_action):<br>required: **false**<br><p>Whether to enable or disable Amazon S3 Tables publishing. Valid values are <code>Enable</code> and <code>Disable</code>, matched case-insensitively.</p> <p>When omitted, defaults to <code>Enable</code>. Valid only when <code>logDestinationType</code> is <code>s3table</code>.</p><br>
    ///   - [`s3_table_names(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::s3_table_names) / [`set_s3_table_names(Option<Vec::<String>>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_s3_table_names):<br>required: **false**<br><p>The system tables to publish (on enable) or to stop publishing (on disable). Each value is either a system table view name that begins with <code>sys_</code> or the keyword <code>all</code>.</p> <p>Omitting this parameter, passing an empty list, or including <code>all</code> each select every current and future system table. Each name must be 1-128 characters, and the list can contain up to 256 names.</p> <p>Valid only when <code>logDestinationType</code> is <code>s3table</code>.</p><br>
    ///   - [`s3_table_kms_key_id(impl Into<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::s3_table_kms_key_id) / [`set_s3_table_kms_key_id(Option<String>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_s3_table_kms_key_id):<br>required: **false**<br><p>The identifier of the Key Management Service key used to encrypt the published Amazon S3 Tables data. When omitted, the data is encrypted with SSE-S3 (Amazon S3 managed keys).</p> <p>Valid only when <code>logDestinationType</code> is <code>s3table</code>.</p><br>
    ///   - [`s3_table_granularity(S3TableGranularity)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::s3_table_granularity) / [`set_s3_table_granularity(Option<S3TableGranularity>)`](crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::set_s3_table_granularity):<br>required: **false**<br><p>The scope of the Amazon S3 Tables destination. Valid values are <code>namespace</code> and <code>account</code>, matched case-insensitively. <code>namespace</code> scopes the published tables to this namespace; <code>account</code> scopes them to the Amazon Web Services account.</p> <p>Required when enabling. Omitting this parameter or passing a blank value fails with <code>ValidationException</code>. Valid only when <code>logDestinationType</code> is <code>s3table</code>.</p><br>
    /// - On success, responds with [`UpdateNamespaceOutput`](crate::operation::update_namespace::UpdateNamespaceOutput) with field(s):
    ///   - [`namespace(Option<Namespace>)`](crate::operation::update_namespace::UpdateNamespaceOutput::namespace): <p>A list of tag instances.</p>
    /// - On failure, responds with [`SdkError<UpdateNamespaceError>`](crate::operation::update_namespace::UpdateNamespaceError)
    pub fn update_namespace(&self) -> crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder {
        crate::operation::update_namespace::builders::UpdateNamespaceFluentBuilder::new(self.handle.clone())
    }
}