Skip to content

update_permission_group async

update_permission_group(
    permission_group_id: PermissionGroupId,
    *,
    config_overrides: Optional[AsyncfinspacedataClientConfig] = None,
    name: Optional[PermissionGroupName] = None,
    description: Optional[PermissionGroupDescription] = None,
    application_permissions: Optional[ApplicationPermissionList] = None,
    client_token: Optional[ClientToken] = None,
) -> UpdatePermissionGroupResponse

Modifies the details of a permission group. You cannot modify a permissionGroupID.

Parameters:

  • permission_group_id (PermissionGroupId) –

    The unique identifier for the permission group to update.

  • name (Optional[PermissionGroupName], default: None ) –

    The name of the permission group.

  • description (Optional[PermissionGroupDescription], default: None ) –

    A brief description for the permission group.

  • application_permissions (Optional[ApplicationPermissionList], default: None ) –

    The permissions that are granted to a specific group for accessing the FinSpace application.

    When assigning application permissions, be aware that the permission ManageUsersAndGroups allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.

    • CreateDataset – Group members can create new datasets.

    • ManageClusters – Group members can manage Apache Spark clusters from FinSpace notebooks.

    • ManageUsersAndGroups – Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.

    • ManageAttributeSets – Group members can manage attribute sets.

    • ViewAuditData – Group members can view audit data.

    • AccessNotebooks – Group members will have access to FinSpace notebooks.

    • GetTemporaryCredentials – Group members can get temporary API credentials.

  • client_token (Optional[ClientToken], default: None ) –

    A token that ensures idempotency. This token expires in 10 minutes.

Raises:

Source code in docs_src/capo_finspace_data/_services/async_finspacedata.py
async def update_permission_group(
    self,
    permission_group_id: "capo_finspace_data.types.permission_group_id.PermissionGroupId",
    *,
    config_overrides: Optional[AsyncfinspacedataClientConfig] = None,
    name: Optional[
        "capo_finspace_data.types.permission_group_name.PermissionGroupName"
    ] = None,
    description: Optional[
        "capo_finspace_data.types.permission_group_description.PermissionGroupDescription"
    ] = None,
    application_permissions: Optional[
        "capo_finspace_data.types.application_permission_list.ApplicationPermissionList"
    ] = None,
    client_token: Optional[
        "capo_finspace_data.types.client_token.ClientToken"
    ] = None,
) -> "capo_finspace_data.types.update_permission_group_response.UpdatePermissionGroupResponse":
    """<p>Modifies the details of a permission group. You cannot modify a <code>permissionGroupID</code>.</p>

    Args:
        permission_group_id: <p>The unique identifier for the permission group to update.</p>
        name: <p>The name of the permission group.</p>
        description: <p>A brief description for the permission group.</p>
        application_permissions: <p>The permissions that are granted to a specific group for accessing the FinSpace application.</p> <important> <p>When assigning application permissions, be aware that the permission <code>ManageUsersAndGroups</code> allows users to grant themselves or others access to any functionality in their FinSpace environment's application. It should only be granted to trusted users.</p> </important> <ul> <li> <p> <code>CreateDataset</code> – Group members can create new datasets.</p> </li> <li> <p> <code>ManageClusters</code> – Group members can manage Apache Spark clusters from FinSpace notebooks.</p> </li> <li> <p> <code>ManageUsersAndGroups</code> – Group members can manage users and permission groups. This is a privileged permission that allows users to grant themselves or others access to any functionality in the application. It should only be granted to trusted users.</p> </li> <li> <p> <code>ManageAttributeSets</code> – Group members can manage attribute sets.</p> </li> <li> <p> <code>ViewAuditData</code> – Group members can view audit data.</p> </li> <li> <p> <code>AccessNotebooks</code> – Group members will have access to FinSpace notebooks.</p> </li> <li> <p> <code>GetTemporaryCredentials</code> – Group members can get temporary API credentials.</p> </li> </ul>
        client_token: <p>A token that ensures idempotency. This token expires in 10 minutes.</p>

    Raises:
        capo_finspace_data.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_finspace_data.errors.conflict_exception.ConflictException: <p>The request conflicts with an existing resource.</p>
        capo_finspace_data.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception or failure.</p>
        capo_finspace_data.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_finspace_data.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_finspace_data.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an AWS service.</p>
        capo_finspace_data.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_finspace_data.types.update_permission_group_request.UpdatePermissionGroupRequest]",
    ) -> AsyncOperationResponse[
        "capo_finspace_data.types.update_permission_group_response.UpdatePermissionGroupResponse"
    ]:
        import capo_finspace_data._operations.aws_habanero_public_api.update_permission_group

        (
            output,
            http_response,
        ) = await capo_finspace_data._operations.aws_habanero_public_api.update_permission_group.async_update_permission_group(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_finspace_data.types.update_permission_group_request.UpdatePermissionGroupRequest",
    ) -> dict[str, Any]:
        import capo_finspace_data.types.update_permission_group_request

        return capo_finspace_data.types.update_permission_group_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdatePermissionGroup", redact_input=_redact_input),
    )
    input_: capo_finspace_data.types.update_permission_group_request.UpdatePermissionGroupRequest = {
        "permission_group_id": permission_group_id
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description
    if application_permissions is not None:
        input_["application_permissions"] = application_permissions
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output