コード例 #1
0
def _GetApiDef(api_name, api_version):
    """Returns the APIDef for the specified API and version.

  Args:
    api_name: str, The API name (or the command surface name, if different).
    api_version: str, The version of the API.

  Raises:
    apis_util.UnknownAPIError: If api_name does not exist in the APIs map.
    apis_util.UnknownVersionError: If api_version does not exist for given
      api_name in the APIs map.

  Returns:
    APIDef, The APIDef for the specified API and version.
  """
    api_name, api_name_alias = _GetApiNameAndAlias(api_name)
    if api_name not in apis_map.MAP:
        raise apis_util.UnknownAPIError(api_name)

    version_overrides = properties.VALUES.api_client_overrides.AllValues()
    version_override = version_overrides.get(api_name_alias, None)
    api_version = version_override or api_version

    api_versions = apis_map.MAP[api_name]
    if api_version is None or api_version not in api_versions:
        raise apis_util.UnknownVersionError(api_name, api_version)
    else:
        api_def = api_versions[api_version]

    return api_def
コード例 #2
0
ファイル: apis.py プロジェクト: twistedpair/google-cloud-sdk
def ResolveVersion(api_name, api_version=None):
  """Resolves the version for an API based on the APIs map and API overrides.

  Args:
    api_name: str, The API name (or the command surface name, if different).
    api_version: str, The API version.

  Raises:
    apis_internal.UnknownAPIError: If api_name does not exist in the APIs map.

  Returns:
    str, The resolved version.
  """
  # pylint:disable=protected-access
  api_name, api_name_alias = apis_internal._GetApiNameAndAlias(api_name)
  if api_name not in apis_map.MAP:
    raise apis_util.UnknownAPIError(api_name)

  version_overrides = properties.VALUES.api_client_overrides.AllValues()

  # First try to get api specific override, then try full surface override.
  api_version_override = None
  if api_version:
    api_version_override = version_overrides.get(
        '{}/{}'.format(api_name_alias, api_version), None)
  if not api_version_override:
    api_version_override = version_overrides.get(api_name_alias, api_version)

  return (api_version_override or
          # pylint:disable=protected-access
          apis_internal._GetDefaultVersion(api_name))
コード例 #3
0
def _GetVersions(api_name):
    """Return available versions for given api.

  Args:
    api_name: str, The API name (or the command surface name, if different).

  Raises:
    apis_util.UnknownAPIError: If api_name does not exist in the APIs map.

  Returns:
    list, of version names.
  """
    api_name, _ = _GetApiNameAndAlias(api_name)
    version_map = apis_map.MAP.get(api_name, None)
    if version_map is None:
        raise apis_util.UnknownAPIError(api_name)
    return version_map.keys()
コード例 #4
0
def ResolveVersion(api_name, default_override=None):
    """Resolves the version for an API based on the APIs map and API overrides.

  Args:
    api_name: str, The API name (or the command surface name, if different).
    default_override: str, The override for the default version.

  Raises:
    apis_internal.UnknownAPIError: If api_name does not exist in the APIs map.

  Returns:
    str, The resolved version.
  """
    # pylint:disable=protected-access
    api_name, api_name_alias = apis_internal._GetApiNameAndAlias(api_name)
    if api_name not in apis_map.MAP:
        raise apis_util.UnknownAPIError(api_name)

    version_overrides = properties.VALUES.api_client_overrides.AllValues()
    version_override = version_overrides.get(api_name_alias, None)
    return (version_override or default_override or
            # pylint:disable=protected-access
            apis_internal._GetDefaultVersion(api_name))