1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateAccountPasswordPolicy`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`minimum_password_length(i32)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::minimum_password_length) / [`set_minimum_password_length(Option<i32>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_minimum_password_length):<br>required: **false**<br><p>The minimum number of characters allowed in an IAM user password.</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>6</code>.</p><br>
    ///   - [`require_symbols(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::require_symbols) / [`set_require_symbols(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_require_symbols):<br>required: **false**<br><p>Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:</p>  <p>! @ # $ % ^ &amp; * ( ) _ + - = [ ] { } | '</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that passwords do not require at least one symbol character.</p><br>
    ///   - [`require_numbers(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::require_numbers) / [`set_require_numbers(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_require_numbers):<br>required: **false**<br><p>Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that passwords do not require at least one numeric character.</p><br>
    ///   - [`require_uppercase_characters(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::require_uppercase_characters) / [`set_require_uppercase_characters(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_require_uppercase_characters):<br>required: **false**<br><p>Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that passwords do not require at least one uppercase character.</p><br>
    ///   - [`require_lowercase_characters(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::require_lowercase_characters) / [`set_require_lowercase_characters(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_require_lowercase_characters):<br>required: **false**<br><p>Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that passwords do not require at least one lowercase character.</p><br>
    ///   - [`allow_users_to_change_password(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::allow_users_to_change_password) / [`set_allow_users_to_change_password(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_allow_users_to_change_password):<br>required: **false**<br><p> Allows all IAM users in your account to use the Amazon Web Services Management Console to change their own passwords. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_enable-user-change.html">Permitting IAM users to change their own passwords</a> in the <i>IAM User Guide</i>.</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that IAM users in the account do not automatically have permissions to change their own password.</p><br>
    ///   - [`max_password_age(i32)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::max_password_age) / [`set_max_password_age(Option<i32>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_max_password_age):<br>required: **false**<br><p>The number of days that an IAM user password is valid.</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>0</code>. The result is that IAM user passwords never expire.</p><br>
    ///   - [`password_reuse_prevention(i32)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::password_reuse_prevention) / [`set_password_reuse_prevention(Option<i32>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_password_reuse_prevention):<br>required: **false**<br><p>Specifies the number of previous passwords that IAM users are prevented from reusing.</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>0</code>. The result is that IAM users are not prevented from reusing previous passwords.</p><br>
    ///   - [`hard_expiry(bool)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::hard_expiry) / [`set_hard_expiry(Option<bool>)`](crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::set_hard_expiry):<br>required: **false**<br><p> Prevents IAM users who are accessing the account via the Amazon Web Services Management Console from setting a new console password after their password has expired. The IAM user cannot access the console until an administrator resets the password.</p>  <p>If you do not specify a value for this parameter, then the operation uses the default value of <code>false</code>. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.</p> <note>   <p> In the Amazon Web Services Management Console, the custom password policy option <b>Allow users to change their own password</b> gives IAM users permissions to <code>iam:ChangePassword</code> for only their user and to the <code>iam:GetAccountPasswordPolicy</code> action. This option does not attach a permissions policy to each user, rather the permissions are applied at the account-level for all users by IAM. IAM users with <code>iam:ChangePassword</code> permission and active access keys can reset their own expired console password using the CLI or API.</p>  </note><br>
    /// - On success, responds with [`UpdateAccountPasswordPolicyOutput`](crate::operation::update_account_password_policy::UpdateAccountPasswordPolicyOutput)
    /// - On failure, responds with [`SdkError<UpdateAccountPasswordPolicyError>`](crate::operation::update_account_password_policy::UpdateAccountPasswordPolicyError)
    pub fn update_account_password_policy(
        &self,
    ) -> crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder {
        crate::operation::update_account_password_policy::builders::UpdateAccountPasswordPolicyFluentBuilder::new(self.handle.clone())
    }
}