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}