aws_sdk_codeguruprofiler/client/
put_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 [`PutPermission`](crate::operation::put_permission::builders::PutPermissionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`profiling_group_name(impl Into<String>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::profiling_group_name) / [`set_profiling_group_name(Option<String>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::set_profiling_group_name):<br>required: **true**<br><p>The name of the profiling group to grant access to.</p><br>
7    ///   - [`action_group(ActionGroup)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::action_group) / [`set_action_group(Option<ActionGroup>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::set_action_group):<br>required: **true**<br><p>Specifies an action group that contains permissions to add to a profiling group resource. One action group is supported, <code>agentPermissions</code>, which grants permission to perform actions required by the profiling agent, <code>ConfigureAgent</code> and <code>PostAgentProfile</code> permissions.</p><br>
8    ///   - [`principals(impl Into<String>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::principals) / [`set_principals(Option<Vec::<String>>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::set_principals):<br>required: **true**<br><p>A list ARNs for the roles and users you want to grant access to the profiling group. Wildcards are not are supported in the ARNs.</p><br>
9    ///   - [`revision_id(impl Into<String>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::revision_id) / [`set_revision_id(Option<String>)`](crate::operation::put_permission::builders::PutPermissionFluentBuilder::set_revision_id):<br>required: **false**<br><p>A universally unique identifier (UUID) for the revision of the policy you are adding to the profiling group. Do not specify this when you add permissions to a profiling group for the first time. If a policy already exists on the profiling group, you must specify the <code>revisionId</code>.</p><br>
10    /// - On success, responds with [`PutPermissionOutput`](crate::operation::put_permission::PutPermissionOutput) with field(s):
11    ///   - [`policy(String)`](crate::operation::put_permission::PutPermissionOutput::policy): <p>The JSON-formatted resource-based policy on the profiling group that includes the added permissions.</p>
12    ///   - [`revision_id(String)`](crate::operation::put_permission::PutPermissionOutput::revision_id): <p>A universally unique identifier (UUID) for the revision of the resource-based policy that includes the added permissions. The JSON-formatted policy is in the <code>policy</code> element of the response.</p>
13    /// - On failure, responds with [`SdkError<PutPermissionError>`](crate::operation::put_permission::PutPermissionError)
14    pub fn put_permission(&self) -> crate::operation::put_permission::builders::PutPermissionFluentBuilder {
15        crate::operation::put_permission::builders::PutPermissionFluentBuilder::new(self.handle.clone())
16    }
17}