def authorize_check()

in gce_rescue/tasks/validations/authorization.py [0:0]


def authorize_check(project: str = None) -> bool:

  permissions_list = ['compute.snapshots.create']
  body_data = {'permissions': permissions_list}
  credentials, project_id = google.auth.default()

  if not project:
    project = project_id

  service = api_service('cloudresourcemanager', 'v1', credentials)
  result = service.projects().testIamPermissions(
    resource = project,
    body =  body_data
  ).execute()

  if permissions_list != result['permissions']:
    raise PermissionError()

  return True