aws_sdk_qbusiness/client/
associate_permission.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 [`AssociatePermission`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`application_id(impl Into<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::set_application_id):<br>required: **true**<br><p>The unique identifier of the Amazon Q Business application.</p><br>
7    ///   - [`statement_id(impl Into<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::statement_id) / [`set_statement_id(Option<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::set_statement_id):<br>required: **true**<br><p>A unique identifier for the policy statement.</p><br>
8    ///   - [`actions(impl Into<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::actions) / [`set_actions(Option<Vec::<String>>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::set_actions):<br>required: **true**<br><p>The list of Amazon Q Business actions that the ISV is allowed to perform.</p><br>
9    ///   - [`conditions(PermissionCondition)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::conditions) / [`set_conditions(Option<Vec::<PermissionCondition>>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::set_conditions):<br>required: **false**<br><p>The conditions that restrict when the permission is effective. These conditions can be used to limit the permission based on specific attributes of the request.</p><br>
10    ///   - [`principal(impl Into<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::principal) / [`set_principal(Option<String>)`](crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::set_principal):<br>required: **true**<br><p>The Amazon Resource Name of the IAM role for the ISV that is being granted permission.</p><br>
11    /// - On success, responds with [`AssociatePermissionOutput`](crate::operation::associate_permission::AssociatePermissionOutput) with field(s):
12    ///   - [`statement(Option<String>)`](crate::operation::associate_permission::AssociatePermissionOutput::statement): <p>The JSON representation of the added permission statement.</p>
13    /// - On failure, responds with [`SdkError<AssociatePermissionError>`](crate::operation::associate_permission::AssociatePermissionError)
14    pub fn associate_permission(&self) -> crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder {
15        crate::operation::associate_permission::builders::AssociatePermissionFluentBuilder::new(self.handle.clone())
16    }
17}