# Generated by the protocol buffer compiler. DO NOT EDIT! # Source: proto/gateway.proto for package 'gateway_protocol' require 'grpc' require 'zeebe/client/proto/gateway_pb' module Zeebe::Client::GatewayProtocol module Gateway class Service include GRPC::GenericService self.marshal_class_method = :encode self.unmarshal_class_method = :decode self.service_name = 'gateway_protocol.Gateway' # # Iterates through all known partitions round-robin and activates up to the requested # maximum 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 # - maxJobsToActivate 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 variables, 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 variables argument is not a valid JSON document; it is expected to be a valid # JSON document where the root node is an object. rpc :CreateWorkflowInstance, CreateWorkflowInstanceRequest, CreateWorkflowInstanceResponse # # Behaves similarly to `rpc CreateWorkflowInstance`, except that a successful response is received when the workflow completes successfully. rpc :CreateWorkflowInstanceWithResult, CreateWorkflowInstanceWithResultRequest, CreateWorkflowInstanceWithResultResponse # # 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 # # Reports a business error (i.e. non-technical) that occurs while processing a job. The error is handled in the workflow by an error catch event. If there is no error catch event with the specified errorCode then an incident will be raised instead. # # Errors: # NOT_FOUND: # - no job was found with the given key # # FAILED_PRECONDITION: # - the job is not in an activated state rpc :ThrowError, ThrowErrorRequest, ThrowErrorResponse # # 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 SetVariables 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 # # Updates all the variables of a particular scope (e.g. workflow instance, flow element instance) # from the given JSON document. # # Errors: # NOT_FOUND: # - no element with the given elementInstanceKey exists # INVALID_ARGUMENT: # - the given variables document is not a valid JSON document; valid documents are expected to # be JSON documents where the root node is an object. rpc :SetVariables, SetVariablesRequest, SetVariablesResponse # # 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 end Stub = Service.rpc_stub_class end end