CodeGuruProfiler / Client / put_permission

put_permission#

CodeGuruProfiler.Client.put_permission(**kwargs)#

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>``

See also: AWS API Documentation

Request Syntax

response = client.put_permission(
    actionGroup='agentPermissions',
    principals=[
        'string',
    ],
    profilingGroupName='string',
    revisionId='string'
)
Parameters:
  • actionGroup (string) –

    [REQUIRED]

    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.

  • principals (list) –

    [REQUIRED]

    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.

    • (string) –

  • profilingGroupName (string) –

    [REQUIRED]

    The name of the profiling group to grant access to.

  • revisionId (string) – 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.

Return type:

dict

Returns:

Response Syntax

{
    'policy': 'string',
    'revisionId': 'string'
}

Response Structure

  • (dict) –

    The structure representing the putPermissionResponse.

    • policy (string) –

      The JSON-formatted resource-based policy on the profiling group that includes the added permissions.

    • revisionId (string) –

      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.

Exceptions

  • CodeGuruProfiler.Client.exceptions.InternalServerException

  • CodeGuruProfiler.Client.exceptions.ConflictException

  • CodeGuruProfiler.Client.exceptions.ValidationException

  • CodeGuruProfiler.Client.exceptions.ThrottlingException

  • CodeGuruProfiler.Client.exceptions.ResourceNotFoundException