aws_sdk_iam/client/create_delegation_request.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 [`CreateDelegationRequest`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`owner_account_id(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::owner_account_id) / [`set_owner_account_id(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_owner_account_id):<br>required: **false**<br><p>The Amazon Web Services account ID this delegation request is targeted to.</p> <p>If the account ID is not known, this parameter can be omitted, resulting in a request that can be associated by any account. If the account ID passed, then the created delegation request can only be associated with an identity of that target account.</p><br>
7 /// - [`description(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_description):<br>required: **true**<br><p>A description of the delegation request.</p><br>
8 /// - [`permissions(DelegationPermission)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::permissions) / [`set_permissions(Option<DelegationPermission>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_permissions):<br>required: **true**<br><p>The permissions to be delegated in this delegation request.</p><br>
9 /// - [`request_message(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::request_message) / [`set_request_message(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_request_message):<br>required: **false**<br><p>A message explaining the reason for the delegation request.</p> <p>Requesters can utilize this field to add a custom note to the delegation request. This field is different from the description such that this is to be utilized for a custom messaging on a case-by-case basis.</p> <p>For example, if the current delegation request is in response to a previous request being rejected, this explanation can be added to the request via this field.</p><br>
10 /// - [`requestor_workflow_id(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::requestor_workflow_id) / [`set_requestor_workflow_id(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_requestor_workflow_id):<br>required: **true**<br><p>The workflow ID associated with the requestor.</p> <p>This is the unique identifier on the partner side that can be used to track the progress of the request.</p> <p>IAM maintains a uniqueness check on this workflow id for each request - if a workflow id for an existing request is passed, this API call will fail.</p><br>
11 /// - [`redirect_url(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::redirect_url) / [`set_redirect_url(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_redirect_url):<br>required: **false**<br><p>The URL to redirect to after the delegation request is processed.</p> <p>This URL is used by the IAM console to show a link to the customer to re-load the partner workflow.</p><br>
12 /// - [`notification_channel(impl Into<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::notification_channel) / [`set_notification_channel(Option<String>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_notification_channel):<br>required: **true**<br><p>The notification channel for updates about the delegation request.</p> <p>At this time,only SNS topic ARNs are accepted for notification. This topic ARN must have a resource policy granting <code>SNS:Publish</code> permission to the IAM service principal (<code>iam.amazonaws.com</code>). See <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-temporary-delegation-partner-guide.html">partner onboarding documentation</a> for more details.</p><br>
13 /// - [`session_duration(i32)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::session_duration) / [`set_session_duration(Option<i32>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_session_duration):<br>required: **true**<br><p>The duration for which the delegated session should remain active, in seconds.</p> <p>The active time window for the session starts when the customer calls the <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_SendDelegationToken.html">SendDelegationToken</a> API.</p><br>
14 /// - [`only_send_by_owner(bool)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::only_send_by_owner) / [`set_only_send_by_owner(Option<bool>)`](crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::set_only_send_by_owner):<br>required: **false**<br><p>Specifies whether the delegation token should only be sent by the owner.</p> <p>This flag prevents any party other than the owner from calling <code>SendDelegationToken</code> API for this delegation request. This behavior becomes useful when the delegation request owner needs to be present for subsequent partner interactions, but the delegation request was sent to a more privileged user for approval due to the owner lacking sufficient delegation permissions.</p><br>
15 /// - On success, responds with [`CreateDelegationRequestOutput`](crate::operation::create_delegation_request::CreateDelegationRequestOutput) with field(s):
16 /// - [`console_deep_link(Option<String>)`](crate::operation::create_delegation_request::CreateDelegationRequestOutput::console_deep_link): <p>A deep link URL to the Amazon Web Services Management Console for managing the delegation request.</p> <p>For a console based workflow, partners should redirect the customer to this URL. If the customer is not logged in to any Amazon Web Services account, the Amazon Web Services workflow will automatically direct the customer to log in and then display the delegation request approval page.</p>
17 /// - [`delegation_request_id(Option<String>)`](crate::operation::create_delegation_request::CreateDelegationRequestOutput::delegation_request_id): <p>The unique identifier for the created delegation request.</p>
18 /// - On failure, responds with [`SdkError<CreateDelegationRequestError>`](crate::operation::create_delegation_request::CreateDelegationRequestError)
19 pub fn create_delegation_request(&self) -> crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder {
20 crate::operation::create_delegation_request::builders::CreateDelegationRequestFluentBuilder::new(self.handle.clone())
21 }
22}