All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ebe-protocol.8.6.0-alpha4-rc1.source-code.protocol.xml Maven / Gradle / Ivy

There is a newer version: 8.6.0-alpha5
Show newest version
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2016/sbe"
  xmlns:xi="http://www.w3.org/2001/XInclude" package="io.camunda.zeebe.protocol.record"
  id="0" version="${protocol.version}" semanticVersion="${project.version}"
  description="Zeebe Protocol" byteOrder="littleEndian">

  <xi:include href="common-types.xml"/>

  <types>
    <enum name="errorCode" encodingType="uint8" semanticType="String"
      description="The error code of an error">
      <validValue name="INTERNAL_ERROR">0</validValue>
      <validValue name="PARTITION_LEADER_MISMATCH">1</validValue>
      <validValue name="UNSUPPORTED_MESSAGE">2</validValue>
      <validValue name="INVALID_CLIENT_VERSION">3</validValue>
      <validValue name="MALFORMED_REQUEST">4</validValue>
      <validValue name="INVALID_MESSAGE_TEMPLATE">5</validValue>
      <validValue name="INVALID_DEPLOYMENT_PARTITION">6</validValue>
      <validValue name="PROCESS_NOT_FOUND">7</validValue>
      <validValue name="RESOURCE_EXHAUSTED">8</validValue>
    </enum>

    <enum name="ValueType" encodingType="uint8" description="The type of a record value">
      <validValue name="JOB">0</validValue>
      <validValue name="DEPLOYMENT">4</validValue>
      <validValue name="PROCESS_INSTANCE">5</validValue>
      <validValue name="INCIDENT">6</validValue>
      <validValue name="MESSAGE">10</validValue>
      <validValue name="MESSAGE_SUBSCRIPTION">11</validValue>
      <validValue name="PROCESS_MESSAGE_SUBSCRIPTION">12</validValue>
      <validValue name="JOB_BATCH">14</validValue>
      <validValue name="TIMER">15</validValue>
      <validValue name="MESSAGE_START_EVENT_SUBSCRIPTION">16</validValue>
      <validValue name="VARIABLE">17</validValue>
      <validValue name="VARIABLE_DOCUMENT">18</validValue>
      <validValue name="PROCESS_INSTANCE_CREATION">19</validValue>
      <validValue name="ERROR">20</validValue>
      <validValue name="PROCESS_INSTANCE_RESULT">21</validValue>
      <validValue name="PROCESS">22</validValue>
      <validValue name="DEPLOYMENT_DISTRIBUTION">23</validValue>
      <validValue name="PROCESS_EVENT">24</validValue>
      <validValue name="DECISION">25</validValue>
      <validValue name="DECISION_REQUIREMENTS">26</validValue>
      <validValue name="DECISION_EVALUATION">27</validValue>
      <validValue name="PROCESS_INSTANCE_MODIFICATION">28</validValue>
      <validValue name="ESCALATION">29</validValue>
      <validValue name="SIGNAL_SUBSCRIPTION">30</validValue>
      <validValue name="SIGNAL">31</validValue>
      <validValue name="RESOURCE_DELETION">32</validValue>
      <validValue name="COMMAND_DISTRIBUTION">33</validValue>
      <validValue name="PROCESS_INSTANCE_BATCH">34</validValue>
      <validValue name="MESSAGE_BATCH">35</validValue>
      <validValue name="FORM">36</validValue>
      <validValue name="USER_TASK">37</validValue>
      <validValue name="PROCESS_INSTANCE_MIGRATION">38</validValue>
      <validValue name="COMPENSATION_SUBSCRIPTION">39</validValue>
      <validValue name="MESSAGE_CORRELATION">40</validValue>

      <!-- Management records / record not related to process automation -->
      <validValue name="CHECKPOINT">254</validValue>
    </enum>

    <enum name="RecordType" encodingType="uint8">
      <validValue name="EVENT">0</validValue>
      <validValue name="COMMAND">1</validValue>
      <validValue name="COMMAND_REJECTION">2</validValue>
    </enum>

    <enum name="RejectionType" encodingType="uint8">
      <validValue name="INVALID_ARGUMENT">0</validValue>
      <validValue name="NOT_FOUND">1</validValue>
      <validValue name="ALREADY_EXISTS">2</validValue>
      <validValue name="INVALID_STATE">3</validValue>
      <validValue name="PROCESSING_ERROR">4</validValue>
      <validValue name="EXCEEDED_BATCH_RECORD_SIZE">5</validValue>
    </enum>

    <enum name="PartitionRole" encodingType="uint8">
      <validValue name="LEADER">0</validValue>
      <validValue name="FOLLOWER">1</validValue>
      <validValue name="INACTIVE">2</validValue>
    </enum>

    <enum name="PartitionHealthStatus" encodingType="uint8">
      <validValue name="UNHEALTHY">0</validValue>
      <validValue name="HEALTHY">1</validValue>
      <validValue name="DEAD">2</validValue>
    </enum>

    <composite name="Version" description="Version information">
      <type name="majorVersion" primitiveType="int32"/>
      <type name="minorVersion" primitiveType="int32"/>
      <type name="patchVersion" primitiveType="int32"/>
    </composite>

  </types>

  <!-- L1 General Messages 0 - 99 -->

  <sbe:message name="ErrorResponse" id="10" description="Standard error response">
    <field name="errorCode" id="1" type="errorCode"/>
    <data name="errorData" id="2" type="varDataEncoding"/>
  </sbe:message>

  <sbe:message name="ExecuteCommandRequest" id="20">
    <field name="partitionId" id="1" type="uint16"/>
    <field name="key" id="4" type="uint64"/>
    <field name="valueType" id="5" type="ValueType"/>
    <field name="intent" id="6" type="uint8"/>
    <!-- populated when the client passes an operation reference to the gateway-->
    <field name="operationReference" id="9" type="uint64" presence="optional" sinceVersion="5"/>
    <data name="value" id="7" type="varDataEncoding"/>
    <!-- populated when RecordType is COMMAND -->
    <data name="authorization" id="8" type="varDataEncoding" sinceVersion="4"/>
  </sbe:message>

  <sbe:message name="ExecuteCommandResponse" id="21">
    <field name="partitionId" id="1" type="uint16"/>
    <field name="key" id="2" type="uint64"/>
    <field name="recordType" id="3" type="RecordType"/>
    <!-- value type is usually request.ValueType but can also be ERROR if RecordType is COMMAND_REJECTION -->
    <field name="valueType" id="4" type="ValueType"/>
    <field name="intent" id="5" type="uint8"/>
    <!-- populated when RecordType is COMMAND_REJECTION -->
    <field name="rejectionType" id="6" type="RejectionType"/>
    <data name="value" id="7" type="varDataEncoding"/>
    <!-- populated when RecordType is COMMAND_REJECTION; UTF-8-encoded String -->
    <data name="rejectionReason" id="8" type="varDataEncoding"/>
  </sbe:message>

  <sbe:message name="ExecuteQueryRequest" id="30">
    <field name="partitionId" id="1" type="uint16"/>
    <field name="key" id="2" type="uint64"/>
    <field name="valueType" id="3" type="ValueType"/>
  </sbe:message>

  <sbe:message name="ExecuteQueryResponse" id="31">
    <data name="bpmnProcessId" id="1" type="varDataEncoding"/>
  </sbe:message>


  <!-- L2 Common Messages 200 - 399 -->

  <sbe:message name="RecordMetadata" id="200" description="Descriptor for Record Metadata">
    <field name="recordType" id="1" type="RecordType"/>
    <field name="requestStreamId" id="2" type="int32"/>
    <field name="requestId" id="3" type="uint64"/>
    <field name="protocolVersion" id="4" type="uint16"/>
    <field name="valueType" id="5" type="ValueType"/>
    <field name="intent" id="6" type="uint8"/>
    <field name="brokerVersion" id="9" type="Version" sinceVersion="2" presence="optional"/>
    <field name="recordVersion" id="10" type="uint16" sinceVersion="3" presence="optional"/>
    <!-- populated when RecordType is COMMAND_REJECTION -->
    <field name="rejectionType" id="7" type="RejectionType"/>
    <!-- populated when the client passes an operation reference to the gateway-->
    <field name="operationReference" id="12" type="uint64" presence="optional" sinceVersion="5"/>
    <!-- populated when RecordType is COMMAND_REJECTION, UTF-8-encoded String -->
    <data name="rejectionReason" id="8" type="varDataEncoding"/>
    <!-- populated when RecordType is COMMAND -->
    <data name="authorization" id="11" type="varDataEncoding" sinceVersion="4"/>
  </sbe:message>

  <sbe:message name="BrokerInfo" id="201" description="Broker topology information">
    <field name="nodeId" id="1" type="int32"/>
    <field name="partitionsCount" id="2" type="int32"/>
    <field name="clusterSize" id="3" type="int32"/>
    <field name="replicationFactor" id="4" type="int32"/>
    <group name="addresses" id="5">
      <data name="apiName" id="6" type="varDataEncoding"/>
      <data name="address" id="7" type="varDataEncoding"/>
    </group>
    <group name="partitionRoles" id="8">
      <field name="partitionId" id="9" type="int32"/>
      <field name="role" id="10" type="PartitionRole"/>
    </group>
    <group name="partitionLeaderTerms" id="11">
      <field name="partitionId" id="12" type="int32"/>
      <field name="term" id="13" type="int64"/>
    </group>
    <group name="partitionHealth" id="15" sinceVersion="3">
      <field name="partitionId" id="16" type="int32"/>
      <field name="healthStatus" id="17" type="PartitionHealthStatus"/>
    </group>
    <data name="version" id="14" type="varDataEncoding"/>
  </sbe:message>
</sbe:messageSchema>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy