| Copyright | (c) 2013-2023 Brendan Hay |
|---|---|
| License | Mozilla Public License, v. 2.0. |
| Maintainer | Brendan Hay |
| Stability | auto-generated |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Amazonka.CodeGuruProfiler.PutPermission
Description
Adds permissions to a profiling group's resource-based policy that are
provided using an action group. If a profiling group doesn't have a
resource-based policy, one is created for it using the permissions in
the action group and the roles and users in the principals parameter.
<p> The one supported action group that can be added is <code>agentPermission</code> which grants <code>ConfigureAgent</code> and <code>PostAgent</code> permissions. For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html">Resource-based policies in CodeGuru Profiler</a> in the <i>Amazon CodeGuru Profiler User Guide</i>, <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html"> <code>ConfigureAgent</code> </a>, and <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html"> <code>PostAgentProfile</code> </a>. </p> <p> The first time you call <code>PutPermission</code> on a profiling group, do not specify a <code>revisionId</code> because it doesn't have a resource-based policy. Subsequent calls must provide a <code>revisionId</code> to specify which revision of the resource-based policy to add the permissions to. </p> <p> The response contains the profiling group's JSON-formatted resource policy. </p>
Synopsis
- data PutPermission = PutPermission' {}
- newPutPermission :: ActionGroup -> NonEmpty Text -> Text -> PutPermission
- putPermission_revisionId :: Lens' PutPermission (Maybe Text)
- putPermission_actionGroup :: Lens' PutPermission ActionGroup
- putPermission_principals :: Lens' PutPermission (NonEmpty Text)
- putPermission_profilingGroupName :: Lens' PutPermission Text
- data PutPermissionResponse = PutPermissionResponse' {
- httpStatus :: Int
- policy :: Text
- revisionId :: Text
- newPutPermissionResponse :: Int -> Text -> Text -> PutPermissionResponse
- putPermissionResponse_httpStatus :: Lens' PutPermissionResponse Int
- putPermissionResponse_policy :: Lens' PutPermissionResponse Text
- putPermissionResponse_revisionId :: Lens' PutPermissionResponse Text
Creating a Request
data PutPermission Source #
The structure representing the putPermissionRequest.
See: newPutPermission smart constructor.
Constructors
| PutPermission' | |
Fields
| |
Instances
Arguments
| :: ActionGroup | |
| -> NonEmpty Text | |
| -> Text | |
| -> PutPermission |
Create a value of PutPermission with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
PutPermission, putPermission_revisionId - 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 revisionId.
$sel:actionGroup:PutPermission', putPermission_actionGroup - Specifies an action group that contains permissions to add to a
profiling group resource. One action group is supported,
agentPermissions, which grants permission to perform actions required
by the profiling agent, ConfigureAgent and PostAgentProfile
permissions.
$sel:principals:PutPermission', putPermission_principals - 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.
PutPermission, putPermission_profilingGroupName - The name of the profiling group to grant access to.
Request Lenses
putPermission_revisionId :: Lens' PutPermission (Maybe Text) Source #
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 revisionId.
putPermission_actionGroup :: Lens' PutPermission ActionGroup Source #
Specifies an action group that contains permissions to add to a
profiling group resource. One action group is supported,
agentPermissions, which grants permission to perform actions required
by the profiling agent, ConfigureAgent and PostAgentProfile
permissions.
putPermission_principals :: Lens' PutPermission (NonEmpty Text) Source #
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.
putPermission_profilingGroupName :: Lens' PutPermission Text Source #
The name of the profiling group to grant access to.
Destructuring the Response
data PutPermissionResponse Source #
The structure representing the putPermissionResponse.
See: newPutPermissionResponse smart constructor.
Constructors
| PutPermissionResponse' | |
Fields
| |
Instances
newPutPermissionResponse Source #
Arguments
| :: Int | |
| -> Text | |
| -> Text | |
| -> PutPermissionResponse |
Create a value of PutPermissionResponse with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:httpStatus:PutPermissionResponse', putPermissionResponse_httpStatus - The response's http status code.
$sel:policy:PutPermissionResponse', putPermissionResponse_policy - The JSON-formatted resource-based policy on the profiling group that
includes the added permissions.
PutPermission, putPermissionResponse_revisionId - 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 policy element of the response.
Response Lenses
putPermissionResponse_httpStatus :: Lens' PutPermissionResponse Int Source #
The response's http status code.
putPermissionResponse_policy :: Lens' PutPermissionResponse Text Source #
The JSON-formatted resource-based policy on the profiling group that includes the added permissions.
putPermissionResponse_revisionId :: Lens' PutPermissionResponse Text Source #
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 policy element of the response.