Esempio n. 1
0
 def GetRevisionsByNonce(self, namespace_ref, nonce):
   """Return all revisions with the given nonce."""
   messages = self._messages_module
   request = messages.ServerlessNamespacesRevisionsListRequest(
       parent=namespace_ref.RelativeName(),
       labelSelector='{} = {}'.format(NONCE_LABEL, nonce))
   response = self._client.namespaces_revisions.List(request)
   return [revision.Revision(item, messages) for item in response.items]
Esempio n. 2
0
  def GetRevision(self, revision_ref):
    """Get the revision.

    Args:
      revision_ref: Resource, revision to get.

    Returns:
      A revision.Revision object.
    """
    messages = self._messages_module
    revision_name = revision_ref.RelativeName()
    request = messages.ServerlessNamespacesRevisionsGetRequest(
        name=revision_name)
    try:
      with metrics.record_duration(metrics.GET_REVISION):
        response = self._client.namespaces_revisions.Get(request)
      return revision.Revision(response, messages)
    except api_exceptions.HttpNotFoundError:
      return None
Esempio n. 3
0
    def ListRevisions(self, namespace_ref, service_name):
        """List all revisions for the given service.

    Args:
      namespace_ref: Resource, namespace to list revisions in
      service_name: str, The service for which to list revisions.

    Returns:
      A list of revisions for the given service.
    """
        messages = self._messages_module
        request = messages.ServerlessNamespacesRevisionsListRequest(
            parent=namespace_ref.RelativeName(), )
        if service_name is not None:
            # For now, same as the service name, and keeping compatible with
            # 'service-less' operation.
            request.labelSelector = 'serving.knative.dev/service = {}'.format(
                service_name)
        with metrics.record_duration(metrics.LIST_REVISIONS):
            response = self._client.namespaces_revisions.List(request)
        return [revision.Revision(item, messages) for item in response.items]