1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateImpersonationRole`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_client_token):<br>required: **false**<br><p>The idempotency token for the client request.</p><br>
    ///   - [`organization_id(impl Into<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::organization_id) / [`set_organization_id(Option<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_organization_id):<br>required: **true**<br><p>The WorkMail organization to create the new impersonation role within.</p><br>
    ///   - [`name(impl Into<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_name):<br>required: **true**<br><p>The name of the new impersonation role.</p><br>
    ///   - [`r#type(ImpersonationRoleType)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::type) / [`set_type(Option<ImpersonationRoleType>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_type):<br>required: **true**<br><p>The impersonation role's type. The available impersonation role types are <code>READ_ONLY</code> or <code>FULL_ACCESS</code>.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_description):<br>required: **false**<br><p>The description of the new impersonation role.</p><br>
    ///   - [`rules(ImpersonationRule)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::rules) / [`set_rules(Option<Vec::<ImpersonationRule>>)`](crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::set_rules):<br>required: **true**<br><p>The list of rules for the impersonation role.</p><br>
    /// - On success, responds with [`CreateImpersonationRoleOutput`](crate::operation::create_impersonation_role::CreateImpersonationRoleOutput) with field(s):
    ///   - [`impersonation_role_id(Option<String>)`](crate::operation::create_impersonation_role::CreateImpersonationRoleOutput::impersonation_role_id): <p>The new impersonation role ID.</p>
    /// - On failure, responds with [`SdkError<CreateImpersonationRoleError>`](crate::operation::create_impersonation_role::CreateImpersonationRoleError)
    pub fn create_impersonation_role(&self) -> crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder {
        crate::operation::create_impersonation_role::builders::CreateImpersonationRoleFluentBuilder::new(self.handle.clone())
    }
}