Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
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.
PutPermission' | |
|
Instances
:: 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:
$sel:revisionId: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.
$sel:profilingGroupName: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.
PutPermissionResponse' | |
|
Instances
newPutPermissionResponse Source #
:: 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.
$sel:revisionId: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.