// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateRole`](crate::operation::update_role::builders::UpdateRoleFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`role_name(impl Into<String>)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::role_name) / [`set_role_name(Option<String>)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::set_role_name):<br>required: **true**<br><p>The name of the role that you want to modify.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::set_description):<br>required: **false**<br><p>The new description that you want to apply to the specified role.</p><br>
/// - [`max_session_duration(i32)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::max_session_duration) / [`set_max_session_duration(Option<i32>)`](crate::operation::update_role::builders::UpdateRoleFluentBuilder::set_max_session_duration):<br>required: **false**<br><p>The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default value of one hour is applied. This setting can have a value from 1 hour to 12 hours.</p> <p>Anyone who assumes the role from the CLI or API can use the <code>DurationSeconds</code> API parameter or the <code>duration-seconds</code> CLI parameter to request a longer session. The <code>MaxSessionDuration</code> setting determines the maximum duration that can be requested using the <code>DurationSeconds</code> parameter. If users don't specify a value for the <code>DurationSeconds</code> parameter, their security credentials are valid for one hour by default. This applies when you use the <code>AssumeRole*</code> API operations or the <code>assume-role*</code> CLI operations but does not apply when you use those operations to create a console URL. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html">Using IAM roles</a> in the <i>IAM User Guide</i>.</p><br>
/// - On success, responds with [`UpdateRoleOutput`](crate::operation::update_role::UpdateRoleOutput)
/// - On failure, responds with [`SdkError<UpdateRoleError>`](crate::operation::update_role::UpdateRoleError)
pub fn update_role(&self) -> crate::operation::update_role::builders::UpdateRoleFluentBuilder {
crate::operation::update_role::builders::UpdateRoleFluentBuilder::new(self.handle.clone())
}
}