Esempio n. 1
0
    def ListFlows(self):
        """List flows that ran on this client."""

        args = api_pb2.ApiListFlowsArgs(client_id=self.client_id)

        items = self._context.SendIteratorRequest("ListFlows", args)
        return utils.MapItemsIterator(
            lambda data: flow.Flow(data=data, context=self._context), items)
Esempio n. 2
0
    def CreateFlow(self, name=None, args=None, runner_args=None):
        """Create new flow on this client."""

        if not name:
            raise ValueError("name can't be empty")

        request = api_pb2.ApiCreateFlowArgs(client_id=self.client_id)

        request.flow.name = name
        if runner_args:
            request.flow.runner_args = runner_args

        if args:
            request.flow.args.value = args.SerializeToString()
            request.flow.args.type_url = utils.GetTypeUrl(args)

        data = self._context.SendRequest("CreateFlow", request)
        return flow.Flow(data=data, context=self._context)