class_docstr: :class:`DatasetVersion` has two constructors: :func:`.from_json` and
  :func:`.get_region`.
  
  Parameters
  ----------
  url : :obj:`dict` or :obj:`str`
      Nested dictionary of URLs containing key: value pairs, like
      ``cloud: {region: url}`` if using :func:`.from_json` constructor,
      or a string with the URL from appropriate region if using the
      :func:`.get_region` constructor.
  version : :obj:`str`, optional
      String of dataset version, if not ``None``.
  reference_genome : :obj:`str`, optional
      String of dataset reference genome, if not ``None``.
docstr: Create :class:`.DatasetVersion` object from dictionary.
  
  Parameters
  ----------
  doc : :obj:`dict`
      Dictionary containing url and version keys.
      Value for url is a :obj:`dict` containing key: value pairs, like
      ``cloud: {region: url}``.
  cloud : :obj:`str`
      Cloud platform to access dataset, either ``'gcp'`` or ``'aws'``.
  
  Returns
  -------
  :class:`.DatasetVersion` if available on cloud platform, else ``None``.
docstr_tok: ["Create",":","class",":","`",".DatasetVersion","`","object","from","dictionary",".","Parameters","--","--","--","--","--","doc",":",":","obj",":","`","dict","`","Dictionary","containing","url","and","version","keys",".","Value","for","url","is","a",":","obj",":","`","dict","`","containing","key",":","value","pairs",",","like","``","cloud",":","{","region",":","url","}","``",".","cloud",":",":","obj",":","`","str","`","Cloud","platform","to","access","dataset",",","either","``","'gcp","'","``","or","``","'aws","'","``",".","Returns","--","--","--","-",":","class",":","`",".DatasetVersion","`","if","available","on","cloud","platform",",","else","``","None","``","."]
code: def from_json(doc: dict, cloud: str) -> Optional["DatasetVersion"]:
      """Create :class:`.DatasetVersion` object from dictionary.
  
      Parameters
      ----------
      doc : :obj:`dict`
          Dictionary containing url and version keys.
          Value for url is a :obj:`dict` containing key: value pairs, like
          ``cloud: {region: url}``.
      cloud : :obj:`str`
          Cloud platform to access dataset, either ``'gcp'`` or ``'aws'``.
  
      Returns
      -------
      :class:`.DatasetVersion` if available on cloud platform, else ``None``.
      """
      assert "url" in doc, doc
      assert "version" in doc, doc
      assert "reference_genome" in doc, doc
      if cloud in doc["url"]:
          return DatasetVersion(
              doc["url"][cloud], doc["version"], doc["reference_genome"]
          )
      else:
          return None
  
imports: import json
  import os
  import warnings
  from typing import Iterable, List, Optional, Set, Tuple, Union
  import hail
  import pkg_resources
  from hailtop.utils import external_requests_client_session, retry_response_returning_functions
  from .lens import MatrixRows, TableRows
  from ..expr import StructExpression
  from ..matrixtable import MatrixTable, matrix_table_type
  from ..table import Table, table_type
  from ..typecheck import oneof, typecheck_method
  from ..utils.java import Env, info
label_desc: Use image node_id 1 for calling the DatasetVersion obj's underlying member method code with example usage: obj.from_json(doc, cloud) and returns: DatasetVersion, None