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)
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)