createPermissionGroup method

Future<CreatePermissionGroupResponse> createPermissionGroup({
  1. required List<ApplicationPermission> applicationPermissions,
  2. required String name,
  3. String? clientToken,
  4. String? description,
})

Creates a group of permissions for various actions that a user can perform in FinSpace.

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

Parameter applicationPermissions : The option to indicate FinSpace application permissions that are granted to a specific group.

  • 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 name : The name of the permission group.

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

Parameter description : A brief description for the permission group.

Implementation

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