aws_sdk_rolesanywhere/client/
create_profile.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateProfile`](crate::operation::create_profile::builders::CreateProfileFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_name):<br>required: **true**<br><p>The name of the profile.</p><br>
7    ///   - [`require_instance_properties(bool)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::require_instance_properties) / [`set_require_instance_properties(Option<bool>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_require_instance_properties):<br>required: **false**<br><p>Specifies whether instance properties are required in temporary credential requests with this profile.</p><br>
8    ///   - [`session_policy(impl Into<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::session_policy) / [`set_session_policy(Option<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_session_policy):<br>required: **false**<br><p>A session policy that applies to the trust boundary of the vended session credentials.</p><br>
9    ///   - [`role_arns(impl Into<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::role_arns) / [`set_role_arns(Option<Vec::<String>>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_role_arns):<br>required: **true**<br><p>A list of IAM roles that this profile can assume in a temporary credential request.</p><br>
10    ///   - [`managed_policy_arns(impl Into<String>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::managed_policy_arns) / [`set_managed_policy_arns(Option<Vec::<String>>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_managed_policy_arns):<br>required: **false**<br><p>A list of managed policy ARNs that apply to the vended session credentials.</p><br>
11    ///   - [`duration_seconds(i32)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::duration_seconds) / [`set_duration_seconds(Option<i32>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_duration_seconds):<br>required: **false**<br><p>Used to determine how long sessions vended using this profile are valid for. See the <code>Expiration</code> section of the <a href="https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session.html#credentials-object">CreateSession API documentation</a> page for more details. In requests, if this value is not provided, the default value will be 3600.</p><br>
12    ///   - [`enabled(bool)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::enabled) / [`set_enabled(Option<bool>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_enabled):<br>required: **false**<br><p>Specifies whether the profile is enabled.</p><br>
13    ///   - [`tags(Tag)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to attach to the profile.</p><br>
14    ///   - [`accept_role_session_name(bool)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::accept_role_session_name) / [`set_accept_role_session_name(Option<bool>)`](crate::operation::create_profile::builders::CreateProfileFluentBuilder::set_accept_role_session_name):<br>required: **false**<br><p>Used to determine if a custom role session name will be accepted in a temporary credential request.</p><br>
15    /// - On success, responds with [`CreateProfileOutput`](crate::operation::create_profile::CreateProfileOutput) with field(s):
16    ///   - [`profile(Option<ProfileDetail>)`](crate::operation::create_profile::CreateProfileOutput::profile): <p>The state of the profile after a read or write operation.</p>
17    /// - On failure, responds with [`SdkError<CreateProfileError>`](crate::operation::create_profile::CreateProfileError)
18    pub fn create_profile(&self) -> crate::operation::create_profile::builders::CreateProfileFluentBuilder {
19        crate::operation::create_profile::builders::CreateProfileFluentBuilder::new(self.handle.clone())
20    }
21}