Esempio n. 1
0
def list_artifacts() -> Sequence[artifact_pb2.ArtifactDescriptor]:
    """Lists all registered artifacts.

  Returns:
    A list of artifact descriptors.
  """
    return [artifact.data for artifact in _api.get().ListArtifacts()]
Esempio n. 2
0
def list_artifacts():
    """Lists all registered artifacts.

  Returns:
    A list of artifact descriptors.
  """
    return [artifact.data for artifact in _api.get().ListArtifacts()]
Esempio n. 3
0
  def search(cls,
             ip: Optional[Text] = None,
             mac: Optional[Text] = None,
             host: Optional[Text] = None,
             version: Optional[int] = None,
             labels: Optional[List[Text]] = None,
             user: Optional[Text] = None) -> Sequence['Client']:
    """Searches for clients specified with keywords.

    Args:
      ip: Client IP address.
      mac: Client MAC address.
      host: Client hostname.
      version: Client version.
      labels: Client labels.
      user: Client username.

    Returns:
      A sequence of clients.
    """

    def format_keyword(key: Text, value: Text) -> Text:
      return '{}:{}'.format(key, value)

    keywords = []
    if ip is not None:
      keywords.append(format_keyword('ip', ip))
    if mac is not None:
      keywords.append(format_keyword('mac', mac))
    if host is not None:
      keywords.append(format_keyword('host', host))
    if version is not None:
      keywords.append(format_keyword('client', str(version)))
    if labels:
      for label in labels:
        keywords.append(format_keyword('label', label))
    if user is not None:
      keywords.append(format_keyword('user', user))

    query = ' '.join(keywords)
    clients = _api.get().SearchClients(query)
    return representer.ClientList([cls(_) for _ in clients])
Esempio n. 4
0
    def search(cls,
               ip=None,
               mac=None,
               host=None,
               version=None,
               labels=None,
               user=None):
        """Searches for clients specified with keywords.

    Args:
      ip: Client IP address.
      mac: Client MAC address.
      host: Client hostname.
      version: Client version.
      labels: Client labels.
      user: Client username.

    Returns:
      A sequence of clients.
    """
        def format_keyword(key, value):
            return '{}:{}'.format(key, value)

        keywords = []
        if ip is not None:
            keywords.append(format_keyword('ip', ip))
        if mac is not None:
            keywords.append(format_keyword('mac', mac))
        if host is not None:
            keywords.append(format_keyword('host', host))
        if version is not None:
            keywords.append(format_keyword('client', str(version)))
        if labels:
            for label in labels:
                keywords.append(format_keyword('label', label))
        if user is not None:
            keywords.append(format_keyword('user', user))

        query = ' '.join(keywords)
        clients = _api.get().SearchClients(query)
        return [cls(_) for _ in clients]
Esempio n. 5
0
 def with_id(cls, client_id: Text) -> 'Client':
     try:
         return cls(_api.get().Client(client_id).Get())
     except api_errors.UnknownError as e:
         raise errors.UnknownClientError(client_id, e)
Esempio n. 6
0
 def _get_fake_api_client(cls):
     return _api.get().Client(cls.FAKE_CLIENT_ID).Get()