updatePermissionGroup method

Future<UpdatePermissionGroupResponse> updatePermissionGroup({
  1. required String permissionGroupId,
  2. List<ApplicationPermission>? applicationPermissions,
  3. String? clientToken,
  4. String? description,
  5. String? name,
})

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

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter permissionGroupId : The unique identifier for the permission group to update.

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

  • 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.

Parameter clientToken : A token that ensures idempotency. This token expires in 10 minutes.

Parameter description : A brief description for the permission group.

Parameter name : The name of the permission group.

Implementation

Future<UpdatePermissionGroupResponse> updatePermissionGroup({
  required String permissionGroupId,
  List<ApplicationPermission>? applicationPermissions,
  String? clientToken,
  String? description,
  String? name,
}) async {
  final $payload = <String, dynamic>{
    if (applicationPermissions != null)
      'applicationPermissions':
          applicationPermissions.map((e) => e.value).toList(),
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (description != null) 'description': description,
    if (name != null) 'name': name,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/permission-group/${Uri.encodeComponent(permissionGroupId)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdatePermissionGroupResponse.fromJson(response);
}