lib/zeebe/client/proto/gateway_services_pb.rb in zeebe-client-0.2.0 vs lib/zeebe/client/proto/gateway_services_pb.rb in zeebe-client-0.3.0

- old
+ new

@@ -12,22 +12,145 @@ self.marshal_class_method = :encode self.unmarshal_class_method = :decode self.service_name = 'gateway_protocol.Gateway' - rpc :Topology, TopologyRequest, TopologyResponse - rpc :DeployWorkflow, DeployWorkflowRequest, DeployWorkflowResponse - rpc :PublishMessage, PublishMessageRequest, PublishMessageResponse - rpc :UpdateJobRetries, UpdateJobRetriesRequest, UpdateJobRetriesResponse - rpc :FailJob, FailJobRequest, FailJobResponse + # + # Iterates through all known partitions in a round-robin and activates up to the requested amount + # of jobs and streams them back to the client as they are activated. + # + # Errors: + # INVALID_ARGUMENT: + # - type is blank (empty string, null) + # - worker is blank (empty string, null) + # - timeout less than 1 + # - amount is less than 1 + rpc :ActivateJobs, ActivateJobsRequest, stream(ActivateJobsResponse) + # + # Cancels a running workflow instance + # + # Errors: + # NOT_FOUND: + # - no workflow instance exists with the given key + rpc :CancelWorkflowInstance, CancelWorkflowInstanceRequest, CancelWorkflowInstanceResponse + # + # Completes a job with the given payload, which allows completing the associated service task. + # + # Errors: + # NOT_FOUND: + # - no job exists with the given job key. Note that since jobs are removed once completed, + # it could be that this job did exist at some point. + # + # FAILED_PRECONDITION: + # - the job was marked as failed. In that case, the related incident must be resolved before + # the job can be activated again and completed. rpc :CompleteJob, CompleteJobRequest, CompleteJobResponse + # + # Creates and starts an instance of the specified workflow. The workflow definition to use to + # create the instance can be specified either using its unique key (as returned by + # DeployWorkflow), or using the BPMN process ID and a version. Pass -1 as the version to use the + # latest deployed version. Note that only workflows with none start events can be started through + # this command. + # + # Errors: + # NOT_FOUND: + # - no workflow with the given key exists (if workflowKey was given) + # - no workflow with the given process ID exists (if bpmnProcessId was given but version was -1) + # - no workflow with the given process ID and version exists (if both bpmnProcessId and version were given) + # + # FAILED_PRECONDITION: + # - the workflow definition does not contain a none start event; only workflows with none + # start event can be started manually. + # + # INVALID_ARGUMENT: + # - the given payload is not a valid JSON document; all payloads are expected to be + # valid JSON documents where the root node is an object. rpc :CreateWorkflowInstance, CreateWorkflowInstanceRequest, CreateWorkflowInstanceResponse - rpc :CancelWorkflowInstance, CancelWorkflowInstanceRequest, CancelWorkflowInstanceResponse - rpc :UpdateWorkflowInstancePayload, UpdateWorkflowInstancePayloadRequest, UpdateWorkflowInstancePayloadResponse - rpc :ActivateJobs, ActivateJobsRequest, stream(ActivateJobsResponse) - rpc :ListWorkflows, ListWorkflowsRequest, ListWorkflowsResponse + # + # Deploys one or more workflows to Zeebe. Note that this is an atomic call, + # i.e. either all workflows are deployed, or none of them are. + # + # Errors: + # INVALID_ARGUMENT: + # - no resources given. + # - if at least one resource is invalid. A resource is considered invalid if: + # - it is not a BPMN or YAML file (currently detected through the file extension) + # - the resource data is not deserializable (e.g. detected as BPMN, but it's broken XML) + # - the workflow is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task) + rpc :DeployWorkflow, DeployWorkflowRequest, DeployWorkflowResponse + # + # Marks the job as failed; if the retries argument is positive, then the job will be immediately + # activatable again, and a worker could try again to process it. If it is zero or negative however, + # an incident will be raised, tagged with the given errorMessage, and the job will not be + # activatable until the incident is resolved. + # + # Errors: + # NOT_FOUND: + # - no job was found with the given key + # + # FAILED_PRECONDITION: + # - the job was not activated + # - the job is already in a failed state, i.e. ran out of retries + rpc :FailJob, FailJobRequest, FailJobResponse + # + # Fetches the workflow definition either by workflow key, or BPMN process ID and version. + # At least one of workflowKey or bpmnProcessId must be specified. + # + # Errors: + # NOT_FOUND: + # - no workflow with the given key exists (if workflowKey was given) + # - no workflow with the given process ID exists (if bpmnProcessId was given but version was -1) + # - no workflow with the given process ID and version exists (if both bpmnProcessId and version were given) rpc :GetWorkflow, GetWorkflowRequest, GetWorkflowResponse + # + # Lists all workflows matching the request criteria currently deployed in the cluster. + # + # Errors: + # NOT_FOUND: + # - no workflows have been deployed yet (if no bpmnProcessId was given) + # - no workflow with the given process ID exists (if bpmnProcessId was given) + rpc :ListWorkflows, ListWorkflowsRequest, ListWorkflowsResponse + # + # Publishes a single message. Messages are published to specific partitions computed from their + # correlation keys. + # + # Errors: + # ALREADY_EXISTS: + # - a message with the same ID was previously published (and is still alive) + rpc :PublishMessage, PublishMessageRequest, PublishMessageResponse + # + # Resolves a given incident. This simply marks the incident as resolved; most likely a call to + # UpdateJobRetries or UpdateWorkflowInstancePayload will be necessary to actually resolve the + # problem, following by this call. + # + # Errors: + # NOT_FOUND: + # - no incident with the given key exists rpc :ResolveIncident, ResolveIncidentRequest, ResolveIncidentResponse + # + # Obtains the current topology of the cluster the gateway is part of. + rpc :Topology, TopologyRequest, TopologyResponse + # + # Updates the number of retries a job has left. This is mostly useful for jobs that have run out of + # retries, should the underlying problem be solved. + # + # Errors: + # NOT_FOUND: + # - no job exists with the given key + # + # INVALID_ARGUMENT: + # - retries is not greater than 0 + rpc :UpdateJobRetries, UpdateJobRetriesRequest, UpdateJobRetriesResponse + # + # Updates all the variables in the workflow instance scope from the given JSON document. + # + # Errors: + # NOT_FOUND: + # - no element with the given elementInstanceKey exists + # INVALID_ARGUMENT: + # - the given payload is not a valid JSON document; all payloads are expected to be + # valid JSON documents where the root node is an object. + rpc :UpdateWorkflowInstancePayload, UpdateWorkflowInstancePayloadRequest, UpdateWorkflowInstancePayloadResponse end Stub = Service.rpc_stub_class end end