  def GetDisk(
      self,
      disk_name: str,
      zone: Optional[str] = None) -> 'GoogleComputeDisk':
    """Get a GCP disk object.

    Args:
      disk_name: The disk identifier, can be either a disk name or ID.
      zone: Compute zone.

    Returns:
      GoogleComputeDisk: Disk object.

    Raises:
      ResourceNotFoundError: When the specified disk cannot be found in project.
    """

    disks = self.Disks()
    if re.match(RESOURCE_ID_REGEX, disk_name):
      disk = disks.get(disk_name)
    else:
      disk = self._FindResourceByName(disks, disk_name, zone)
    if not disk:
      raise errors.ResourceNotFoundError(
          f'Disk {disk_name} was not found in project '
          f'{self.project_id}', __name__)
    return disk
Get a GCP disk object.

Args:
disk_name: The disk identifier, can be either a disk name or ID.
zone: Compute zone.

Returns:
GoogleComputeDisk: Disk object.

Raises:
ResourceNotFoundError: When the specified disk cannot be found in project.
libcloudforensics/providers/gcp/internal/compute.py