You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ro...@apache.org on 2017/04/24 21:52:46 UTC

[2/7] beam git commit: Generate python proto wrappers for runner and fn API.

http://git-wip-us.apache.org/repos/asf/beam/blob/2a59b057/sdks/python/apache_beam/runners/api/beam_fn_api_pb2.py
----------------------------------------------------------------------
diff --git a/sdks/python/apache_beam/runners/api/beam_fn_api_pb2.py b/sdks/python/apache_beam/runners/api/beam_fn_api_pb2.py
new file mode 100644
index 0000000..dea47e3
--- /dev/null
+++ b/sdks/python/apache_beam/runners/api/beam_fn_api_pb2.py
@@ -0,0 +1,2723 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: beam_fn_api.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
+from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='beam_fn_api.proto',
+  package='org.apache.beam.fn.v1',
+  syntax='proto3',
+  serialized_pb=_b('\n\x11\x62\x65\x61m_fn_api.proto\x12\x15org.apache.beam.fn.v1\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"t\n\x06Target\x12%\n\x1dprimitive_transform_reference\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a\x35\n\x04List\x12-\n\x06target\x18\x01 \x03(\x0b\x32\x1d.org.apache.beam.fn.v1.Target\"&\n\x0bPCollection\x12\x17\n\x0f\x63oder_reference\x18\x01 \x01(\t\"\xcb\x04\n\x12PrimitiveTransform\x12\n\n\x02id\x18\x01 \x01(\t\x12:\n\rfunction_spec\x18\x02 \x01(\x0b\x32#.org.apache.beam.fn.v1.FunctionSpec\x12\x45\n\x06inputs\x18\x03 \x03(\x0b\x32\x35.org.apache.beam.fn.v1.PrimitiveTransform.InputsEntry\x12G\n\x07outputs\x18\x04 \x03(\x0b\x32\x36.org.apache.beam.fn.v1.PrimitiveTransform.OutputsEntry\x12N\n\x0bside_inputs\x18\x05 \x03(\x0b\x32\x39.org.apache.beam.fn.v1.PrimitiveTransform.SideInputsEntry\x12\x11\n\tstep_name\x18\x06 \x01(\t\x1aQ\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\"
 .org.apache.beam.fn.v1.Target.List:\x02\x38\x01\x1aR\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".org.apache.beam.fn.v1.PCollection:\x02\x38\x01\x1aS\n\x0fSideInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .org.apache.beam.fn.v1.SideInput:\x02\x38\x01\"j\n\x0c\x46unctionSpec\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12\x1d\n\x15\x65nvironment_reference\x18\x03 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x04 \x01(\x0b\x32\x14.google.protobuf.Any\"o\n\tSideInput\x12,\n\x05input\x18\x01 \x01(\x0b\x32\x1d.org.apache.beam.fn.v1.Target\x12\x34\n\x07view_fn\x18\x02 \x01(\x0b\x32#.org.apache.beam.fn.v1.FunctionSpec\"f\n\x05\x43oder\x12:\n\rfunction_spec\x18\x01 \x01(\x0b\x32#.org.apache.beam.fn.v1.FunctionSpec\x12!\n\x19\x63omponent_coder_reference\x18\x02 \x03(\t\"]\n\x0eRemoteGrpcPort\x12K\n\x16\x61pi_service_descriptor\x18\x01 \x01(\x0b\x32+.org.apache.beam.fn.v1.ApiServiceDescriptor\"\xe8\x0
 2\n\x12InstructionRequest\x12\x16\n\x0einstruction_id\x18\x01 \x01(\t\x12;\n\x08register\x18\xe8\x07 \x01(\x0b\x32&.org.apache.beam.fn.v1.RegisterRequestH\x00\x12\x46\n\x0eprocess_bundle\x18\xe9\x07 \x01(\x0b\x32+.org.apache.beam.fn.v1.ProcessBundleRequestH\x00\x12W\n\x17process_bundle_progress\x18\xea\x07 \x01(\x0b\x32\x33.org.apache.beam.fn.v1.ProcessBundleProgressRequestH\x00\x12Q\n\x14process_bundle_split\x18\xeb\x07 \x01(\x0b\x32\x30.org.apache.beam.fn.v1.ProcessBundleSplitRequestH\x00\x42\t\n\x07request\"\xfd\x02\n\x13InstructionResponse\x12\x16\n\x0einstruction_id\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12<\n\x08register\x18\xe8\x07 \x01(\x0b\x32\'.org.apache.beam.fn.v1.RegisterResponseH\x00\x12G\n\x0eprocess_bundle\x18\xe9\x07 \x01(\x0b\x32,.org.apache.beam.fn.v1.ProcessBundleResponseH\x00\x12X\n\x17process_bundle_progress\x18\xea\x07 \x01(\x0b\x32\x34.org.apache.beam.fn.v1.ProcessBundleProgressResponseH\x00\x12R\n\x14process_bundle_split\x18\xeb\x07 \x01(\x0b\x
 32\x31.org.apache.beam.fn.v1.ProcessBundleSplitResponseH\x00\x42\n\n\x08response\"d\n\x0fRegisterRequest\x12Q\n\x19process_bundle_descriptor\x18\x01 \x03(\x0b\x32..org.apache.beam.fn.v1.ProcessBundleDescriptor\"\x12\n\x10RegisterResponse\"\x9b\x01\n\x17ProcessBundleDescriptor\x12\n\n\x02id\x18\x01 \x01(\t\x12\x46\n\x13primitive_transform\x18\x02 \x03(\x0b\x32).org.apache.beam.fn.v1.PrimitiveTransform\x12,\n\x06\x63oders\x18\x04 \x03(\x0b\x32\x1c.org.apache.beam.fn.v1.Coder\"|\n\x14ProcessBundleRequest\x12+\n#process_bundle_descriptor_reference\x18\x01 \x01(\t\x12\x37\n\x0c\x63\x61\x63he_tokens\x18\x02 \x03(\x0b\x32!.org.apache.beam.fn.v1.CacheToken\"\x17\n\x15ProcessBundleResponse\"=\n\x1cProcessBundleProgressRequest\x12\x1d\n\x15instruction_reference\x18\x01 \x01(\t\"G\n\x1dProcessBundleProgressResponse\x12\x15\n\rfinished_work\x18\x01 \x01(\x01\x12\x0f\n\x07\x62\x61\x63klog\x18\x02 \x01(\x01\"L\n\x19ProcessBundleSplitRequest\x12\x1d\n\x15instruction_reference\x18\x01 \x01(\t\x12\x
 10\n\x08\x66raction\x18\x02 \x01(\x01\"(\n\x17\x45lementCountRestriction\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\",\n\x1b\x45lementCountSkipRestriction\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\"\xc8\x01\n\x17PrimitiveTransformSplit\x12%\n\x1dprimitive_transform_reference\x18\x01 \x01(\t\x12\x42\n\x15\x63ompleted_restriction\x18\x02 \x01(\x0b\x32#.org.apache.beam.fn.v1.FunctionSpec\x12\x42\n\x15remaining_restriction\x18\x03 \x01(\x0b\x32#.org.apache.beam.fn.v1.FunctionSpec\"\\\n\x1aProcessBundleSplitResponse\x12>\n\x06splits\x18\x01 \x03(\x0b\x32..org.apache.beam.fn.v1.PrimitiveTransformSplit\"\xa2\x01\n\x08\x45lements\x12\x32\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32$.org.apache.beam.fn.v1.Elements.Data\x1a\x62\n\x04\x44\x61ta\x12\x1d\n\x15instruction_reference\x18\x01 \x01(\t\x12-\n\x06target\x18\x02 \x01(\x0b\x32\x1d.org.apache.beam.fn.v1.Target\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xaa\x02\n\x0cStateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1d\n\x15instruction_reference\x18\x02 \x0
 1(\t\x12\x32\n\tstate_key\x18\x03 \x01(\x0b\x32\x1f.org.apache.beam.fn.v1.StateKey\x12\x36\n\x03get\x18\xe8\x07 \x01(\x0b\x32&.org.apache.beam.fn.v1.StateGetRequestH\x00\x12<\n\x06\x61ppend\x18\xe9\x07 \x01(\x0b\x32).org.apache.beam.fn.v1.StateAppendRequestH\x00\x12:\n\x05\x63lear\x18\xea\x07 \x01(\x0b\x32(.org.apache.beam.fn.v1.StateClearRequestH\x00\x42\t\n\x07request\"\xeb\x01\n\rStateResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x37\n\x03get\x18\xe8\x07 \x01(\x0b\x32\'.org.apache.beam.fn.v1.StateGetResponseH\x00\x12=\n\x06\x61ppend\x18\xe9\x07 \x01(\x0b\x32*.org.apache.beam.fn.v1.StateAppendResponseH\x00\x12;\n\x05\x63lear\x18\xea\x07 \x01(\x0b\x32).org.apache.beam.fn.v1.StateClearResponseH\x00\x42\n\n\x08response\"J\n\nCacheToken\x12-\n\x06target\x18\x01 \x01(\x0b\x32\x1d.org.apache.beam.fn.v1.Target\x12\r\n\x05token\x18\x02 \x01(\x0c\"V\n\x08StateKey\x12-\n\x06target\x18\x01 \x01(\x0b\x32\x1d.org.apache.beam.fn.v1.Target\x12\x0e\n\x06window\x18
 \x02 \x01(\x0c\x12\x0b\n\x03key\x18\x03 \x01(\x0c\"=\n\x11\x43ontinuableStream\x12\x1a\n\x12\x63ontinuation_token\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"-\n\x0fStateGetRequest\x12\x1a\n\x12\x63ontinuation_token\x18\x01 \x01(\x0c\"L\n\x10StateGetResponse\x12\x38\n\x06stream\x18\x01 \x01(\x0b\x32(.org.apache.beam.fn.v1.ContinuableStream\"\"\n\x12StateAppendRequest\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x15\n\x13StateAppendResponse\"\x13\n\x11StateClearRequest\"\x14\n\x12StateClearResponse\"\x9a\x03\n\x08LogEntry\x12:\n\x08severity\x18\x01 \x01(\x0e\x32(.org.apache.beam.fn.v1.LogEntry.Severity\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\r\n\x05trace\x18\x04 \x01(\t\x12\x1d\n\x15instruction_reference\x18\x05 \x01(\t\x12%\n\x1dprimitive_transform_reference\x18\x06 \x01(\t\x12\x14\n\x0clog_location\x18\x07 \x01(\t\x12\x0e\n\x06thread\x18\x08 \x01(\t\x1a<\n\x04List\x12\x34\n\x0blog_entries\x18\x01
  \x03(\x0b\x32\x1f.org.apache.beam.fn.v1.LogEntry\"Y\n\x08Severity\x12\t\n\x05TRACE\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\n\x12\x08\n\x04INFO\x10\x14\x12\n\n\x06NOTICE\x10\x1e\x12\x08\n\x04WARN\x10(\x12\t\n\x05\x45RROR\x10\x32\x12\x0c\n\x08\x43RITICAL\x10<\"\x0c\n\nLogControl\"\xa1\x01\n\x14\x41piServiceDescriptor\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12^\n\x1foauth2_client_credentials_grant\x18\x03 \x01(\x0b\x32\x33.org.apache.beam.fn.v1.OAuth2ClientCredentialsGrantH\x00\x42\x10\n\x0e\x61uthentication\"+\n\x1cOAuth2ClientCredentialsGrant\x12\x0b\n\x03url\x18\x01 \x01(\t\"F\n\x0f\x44ockerContainer\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12\x1a\n\x12registry_reference\x18\x03 \x01(\t2w\n\rBeamFnControl\x12\x66\n\x07\x43ontrol\x12*.org.apache.beam.fn.v1.InstructionResponse\x1a).org.apache.beam.fn.v1.InstructionRequest\"\x00(\x01\x30\x01\x32\\\n\nBeamFnData\x12N\n\x04\x44\x61ta\x12\x1f.org.apache.beam.fn.v1.Elements\x1a\x1f.org.apache.b
 eam.fn.v1.Elements\"\x00(\x01\x30\x01\x32g\n\x0b\x42\x65\x61mFnState\x12X\n\x05State\x12#.org.apache.beam.fn.v1.StateRequest\x1a$.org.apache.beam.fn.v1.StateResponse\"\x00(\x01\x30\x01\x32i\n\rBeamFnLogging\x12X\n\x07Logging\x12$.org.apache.beam.fn.v1.LogEntry.List\x1a!.org.apache.beam.fn.v1.LogControl\"\x00(\x01\x30\x01\x42\"\n\x15org.apache.beam.fn.v1B\tBeamFnApib\x06proto3')
+  ,
+  dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+
+
+_LOGENTRY_SEVERITY = _descriptor.EnumDescriptor(
+  name='Severity',
+  full_name='org.apache.beam.fn.v1.LogEntry.Severity',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='TRACE', index=0, number=0,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='DEBUG', index=1, number=10,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='INFO', index=2, number=20,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='NOTICE', index=3, number=30,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='WARN', index=4, number=40,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='ERROR', index=5, number=50,
+      options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='CRITICAL', index=6, number=60,
+      options=None,
+      type=None),
+  ],
+  containing_type=None,
+  options=None,
+  serialized_start=4529,
+  serialized_end=4618,
+)
+_sym_db.RegisterEnumDescriptor(_LOGENTRY_SEVERITY)
+
+
+_TARGET_LIST = _descriptor.Descriptor(
+  name='List',
+  full_name='org.apache.beam.fn.v1.Target.List',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='target', full_name='org.apache.beam.fn.v1.Target.List.target', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=167,
+  serialized_end=220,
+)
+
+_TARGET = _descriptor.Descriptor(
+  name='Target',
+  full_name='org.apache.beam.fn.v1.Target',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='primitive_transform_reference', full_name='org.apache.beam.fn.v1.Target.primitive_transform_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='name', full_name='org.apache.beam.fn.v1.Target.name', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_TARGET_LIST, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=104,
+  serialized_end=220,
+)
+
+
+_PCOLLECTION = _descriptor.Descriptor(
+  name='PCollection',
+  full_name='org.apache.beam.fn.v1.PCollection',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='coder_reference', full_name='org.apache.beam.fn.v1.PCollection.coder_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=222,
+  serialized_end=260,
+)
+
+
+_PRIMITIVETRANSFORM_INPUTSENTRY = _descriptor.Descriptor(
+  name='InputsEntry',
+  full_name='org.apache.beam.fn.v1.PrimitiveTransform.InputsEntry',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='key', full_name='org.apache.beam.fn.v1.PrimitiveTransform.InputsEntry.key', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='value', full_name='org.apache.beam.fn.v1.PrimitiveTransform.InputsEntry.value', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=600,
+  serialized_end=681,
+)
+
+_PRIMITIVETRANSFORM_OUTPUTSENTRY = _descriptor.Descriptor(
+  name='OutputsEntry',
+  full_name='org.apache.beam.fn.v1.PrimitiveTransform.OutputsEntry',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='key', full_name='org.apache.beam.fn.v1.PrimitiveTransform.OutputsEntry.key', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='value', full_name='org.apache.beam.fn.v1.PrimitiveTransform.OutputsEntry.value', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=683,
+  serialized_end=765,
+)
+
+_PRIMITIVETRANSFORM_SIDEINPUTSENTRY = _descriptor.Descriptor(
+  name='SideInputsEntry',
+  full_name='org.apache.beam.fn.v1.PrimitiveTransform.SideInputsEntry',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='key', full_name='org.apache.beam.fn.v1.PrimitiveTransform.SideInputsEntry.key', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='value', full_name='org.apache.beam.fn.v1.PrimitiveTransform.SideInputsEntry.value', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=767,
+  serialized_end=850,
+)
+
+_PRIMITIVETRANSFORM = _descriptor.Descriptor(
+  name='PrimitiveTransform',
+  full_name='org.apache.beam.fn.v1.PrimitiveTransform',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.PrimitiveTransform.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='function_spec', full_name='org.apache.beam.fn.v1.PrimitiveTransform.function_spec', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='inputs', full_name='org.apache.beam.fn.v1.PrimitiveTransform.inputs', index=2,
+      number=3, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='outputs', full_name='org.apache.beam.fn.v1.PrimitiveTransform.outputs', index=3,
+      number=4, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='side_inputs', full_name='org.apache.beam.fn.v1.PrimitiveTransform.side_inputs', index=4,
+      number=5, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='step_name', full_name='org.apache.beam.fn.v1.PrimitiveTransform.step_name', index=5,
+      number=6, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_PRIMITIVETRANSFORM_INPUTSENTRY, _PRIMITIVETRANSFORM_OUTPUTSENTRY, _PRIMITIVETRANSFORM_SIDEINPUTSENTRY, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=263,
+  serialized_end=850,
+)
+
+
+_FUNCTIONSPEC = _descriptor.Descriptor(
+  name='FunctionSpec',
+  full_name='org.apache.beam.fn.v1.FunctionSpec',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.FunctionSpec.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='urn', full_name='org.apache.beam.fn.v1.FunctionSpec.urn', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='environment_reference', full_name='org.apache.beam.fn.v1.FunctionSpec.environment_reference', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='data', full_name='org.apache.beam.fn.v1.FunctionSpec.data', index=3,
+      number=4, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=852,
+  serialized_end=958,
+)
+
+
+_SIDEINPUT = _descriptor.Descriptor(
+  name='SideInput',
+  full_name='org.apache.beam.fn.v1.SideInput',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='input', full_name='org.apache.beam.fn.v1.SideInput.input', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='view_fn', full_name='org.apache.beam.fn.v1.SideInput.view_fn', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=960,
+  serialized_end=1071,
+)
+
+
+_CODER = _descriptor.Descriptor(
+  name='Coder',
+  full_name='org.apache.beam.fn.v1.Coder',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='function_spec', full_name='org.apache.beam.fn.v1.Coder.function_spec', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='component_coder_reference', full_name='org.apache.beam.fn.v1.Coder.component_coder_reference', index=1,
+      number=2, type=9, cpp_type=9, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1073,
+  serialized_end=1175,
+)
+
+
+_REMOTEGRPCPORT = _descriptor.Descriptor(
+  name='RemoteGrpcPort',
+  full_name='org.apache.beam.fn.v1.RemoteGrpcPort',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='api_service_descriptor', full_name='org.apache.beam.fn.v1.RemoteGrpcPort.api_service_descriptor', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1177,
+  serialized_end=1270,
+)
+
+
+_INSTRUCTIONREQUEST = _descriptor.Descriptor(
+  name='InstructionRequest',
+  full_name='org.apache.beam.fn.v1.InstructionRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='instruction_id', full_name='org.apache.beam.fn.v1.InstructionRequest.instruction_id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='register', full_name='org.apache.beam.fn.v1.InstructionRequest.register', index=1,
+      number=1000, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle', full_name='org.apache.beam.fn.v1.InstructionRequest.process_bundle', index=2,
+      number=1001, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle_progress', full_name='org.apache.beam.fn.v1.InstructionRequest.process_bundle_progress', index=3,
+      number=1002, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle_split', full_name='org.apache.beam.fn.v1.InstructionRequest.process_bundle_split', index=4,
+      number=1003, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='request', full_name='org.apache.beam.fn.v1.InstructionRequest.request',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=1273,
+  serialized_end=1633,
+)
+
+
+_INSTRUCTIONRESPONSE = _descriptor.Descriptor(
+  name='InstructionResponse',
+  full_name='org.apache.beam.fn.v1.InstructionResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='instruction_id', full_name='org.apache.beam.fn.v1.InstructionResponse.instruction_id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='error', full_name='org.apache.beam.fn.v1.InstructionResponse.error', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='register', full_name='org.apache.beam.fn.v1.InstructionResponse.register', index=2,
+      number=1000, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle', full_name='org.apache.beam.fn.v1.InstructionResponse.process_bundle', index=3,
+      number=1001, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle_progress', full_name='org.apache.beam.fn.v1.InstructionResponse.process_bundle_progress', index=4,
+      number=1002, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='process_bundle_split', full_name='org.apache.beam.fn.v1.InstructionResponse.process_bundle_split', index=5,
+      number=1003, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='response', full_name='org.apache.beam.fn.v1.InstructionResponse.response',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=1636,
+  serialized_end=2017,
+)
+
+
+_REGISTERREQUEST = _descriptor.Descriptor(
+  name='RegisterRequest',
+  full_name='org.apache.beam.fn.v1.RegisterRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='process_bundle_descriptor', full_name='org.apache.beam.fn.v1.RegisterRequest.process_bundle_descriptor', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2019,
+  serialized_end=2119,
+)
+
+
+_REGISTERRESPONSE = _descriptor.Descriptor(
+  name='RegisterResponse',
+  full_name='org.apache.beam.fn.v1.RegisterResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2121,
+  serialized_end=2139,
+)
+
+
+_PROCESSBUNDLEDESCRIPTOR = _descriptor.Descriptor(
+  name='ProcessBundleDescriptor',
+  full_name='org.apache.beam.fn.v1.ProcessBundleDescriptor',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.ProcessBundleDescriptor.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='primitive_transform', full_name='org.apache.beam.fn.v1.ProcessBundleDescriptor.primitive_transform', index=1,
+      number=2, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='coders', full_name='org.apache.beam.fn.v1.ProcessBundleDescriptor.coders', index=2,
+      number=4, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2142,
+  serialized_end=2297,
+)
+
+
+_PROCESSBUNDLEREQUEST = _descriptor.Descriptor(
+  name='ProcessBundleRequest',
+  full_name='org.apache.beam.fn.v1.ProcessBundleRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='process_bundle_descriptor_reference', full_name='org.apache.beam.fn.v1.ProcessBundleRequest.process_bundle_descriptor_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='cache_tokens', full_name='org.apache.beam.fn.v1.ProcessBundleRequest.cache_tokens', index=1,
+      number=2, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2299,
+  serialized_end=2423,
+)
+
+
+_PROCESSBUNDLERESPONSE = _descriptor.Descriptor(
+  name='ProcessBundleResponse',
+  full_name='org.apache.beam.fn.v1.ProcessBundleResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2425,
+  serialized_end=2448,
+)
+
+
+_PROCESSBUNDLEPROGRESSREQUEST = _descriptor.Descriptor(
+  name='ProcessBundleProgressRequest',
+  full_name='org.apache.beam.fn.v1.ProcessBundleProgressRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='instruction_reference', full_name='org.apache.beam.fn.v1.ProcessBundleProgressRequest.instruction_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2450,
+  serialized_end=2511,
+)
+
+
+_PROCESSBUNDLEPROGRESSRESPONSE = _descriptor.Descriptor(
+  name='ProcessBundleProgressResponse',
+  full_name='org.apache.beam.fn.v1.ProcessBundleProgressResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='finished_work', full_name='org.apache.beam.fn.v1.ProcessBundleProgressResponse.finished_work', index=0,
+      number=1, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='backlog', full_name='org.apache.beam.fn.v1.ProcessBundleProgressResponse.backlog', index=1,
+      number=2, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2513,
+  serialized_end=2584,
+)
+
+
+_PROCESSBUNDLESPLITREQUEST = _descriptor.Descriptor(
+  name='ProcessBundleSplitRequest',
+  full_name='org.apache.beam.fn.v1.ProcessBundleSplitRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='instruction_reference', full_name='org.apache.beam.fn.v1.ProcessBundleSplitRequest.instruction_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='fraction', full_name='org.apache.beam.fn.v1.ProcessBundleSplitRequest.fraction', index=1,
+      number=2, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2586,
+  serialized_end=2662,
+)
+
+
+_ELEMENTCOUNTRESTRICTION = _descriptor.Descriptor(
+  name='ElementCountRestriction',
+  full_name='org.apache.beam.fn.v1.ElementCountRestriction',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='count', full_name='org.apache.beam.fn.v1.ElementCountRestriction.count', index=0,
+      number=1, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2664,
+  serialized_end=2704,
+)
+
+
+_ELEMENTCOUNTSKIPRESTRICTION = _descriptor.Descriptor(
+  name='ElementCountSkipRestriction',
+  full_name='org.apache.beam.fn.v1.ElementCountSkipRestriction',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='count', full_name='org.apache.beam.fn.v1.ElementCountSkipRestriction.count', index=0,
+      number=1, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2706,
+  serialized_end=2750,
+)
+
+
+_PRIMITIVETRANSFORMSPLIT = _descriptor.Descriptor(
+  name='PrimitiveTransformSplit',
+  full_name='org.apache.beam.fn.v1.PrimitiveTransformSplit',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='primitive_transform_reference', full_name='org.apache.beam.fn.v1.PrimitiveTransformSplit.primitive_transform_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='completed_restriction', full_name='org.apache.beam.fn.v1.PrimitiveTransformSplit.completed_restriction', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='remaining_restriction', full_name='org.apache.beam.fn.v1.PrimitiveTransformSplit.remaining_restriction', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2753,
+  serialized_end=2953,
+)
+
+
+_PROCESSBUNDLESPLITRESPONSE = _descriptor.Descriptor(
+  name='ProcessBundleSplitResponse',
+  full_name='org.apache.beam.fn.v1.ProcessBundleSplitResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='splits', full_name='org.apache.beam.fn.v1.ProcessBundleSplitResponse.splits', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=2955,
+  serialized_end=3047,
+)
+
+
+_ELEMENTS_DATA = _descriptor.Descriptor(
+  name='Data',
+  full_name='org.apache.beam.fn.v1.Elements.Data',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='instruction_reference', full_name='org.apache.beam.fn.v1.Elements.Data.instruction_reference', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='target', full_name='org.apache.beam.fn.v1.Elements.Data.target', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='data', full_name='org.apache.beam.fn.v1.Elements.Data.data', index=2,
+      number=3, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3114,
+  serialized_end=3212,
+)
+
+_ELEMENTS = _descriptor.Descriptor(
+  name='Elements',
+  full_name='org.apache.beam.fn.v1.Elements',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='data', full_name='org.apache.beam.fn.v1.Elements.data', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_ELEMENTS_DATA, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3050,
+  serialized_end=3212,
+)
+
+
+_STATEREQUEST = _descriptor.Descriptor(
+  name='StateRequest',
+  full_name='org.apache.beam.fn.v1.StateRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.StateRequest.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='instruction_reference', full_name='org.apache.beam.fn.v1.StateRequest.instruction_reference', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='state_key', full_name='org.apache.beam.fn.v1.StateRequest.state_key', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='get', full_name='org.apache.beam.fn.v1.StateRequest.get', index=3,
+      number=1000, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='append', full_name='org.apache.beam.fn.v1.StateRequest.append', index=4,
+      number=1001, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='clear', full_name='org.apache.beam.fn.v1.StateRequest.clear', index=5,
+      number=1002, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='request', full_name='org.apache.beam.fn.v1.StateRequest.request',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=3215,
+  serialized_end=3513,
+)
+
+
+_STATERESPONSE = _descriptor.Descriptor(
+  name='StateResponse',
+  full_name='org.apache.beam.fn.v1.StateResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.StateResponse.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='error', full_name='org.apache.beam.fn.v1.StateResponse.error', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='get', full_name='org.apache.beam.fn.v1.StateResponse.get', index=2,
+      number=1000, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='append', full_name='org.apache.beam.fn.v1.StateResponse.append', index=3,
+      number=1001, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='clear', full_name='org.apache.beam.fn.v1.StateResponse.clear', index=4,
+      number=1002, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='response', full_name='org.apache.beam.fn.v1.StateResponse.response',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=3516,
+  serialized_end=3751,
+)
+
+
+_CACHETOKEN = _descriptor.Descriptor(
+  name='CacheToken',
+  full_name='org.apache.beam.fn.v1.CacheToken',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='target', full_name='org.apache.beam.fn.v1.CacheToken.target', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='token', full_name='org.apache.beam.fn.v1.CacheToken.token', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3753,
+  serialized_end=3827,
+)
+
+
+_STATEKEY = _descriptor.Descriptor(
+  name='StateKey',
+  full_name='org.apache.beam.fn.v1.StateKey',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='target', full_name='org.apache.beam.fn.v1.StateKey.target', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='window', full_name='org.apache.beam.fn.v1.StateKey.window', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='key', full_name='org.apache.beam.fn.v1.StateKey.key', index=2,
+      number=3, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3829,
+  serialized_end=3915,
+)
+
+
+_CONTINUABLESTREAM = _descriptor.Descriptor(
+  name='ContinuableStream',
+  full_name='org.apache.beam.fn.v1.ContinuableStream',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='continuation_token', full_name='org.apache.beam.fn.v1.ContinuableStream.continuation_token', index=0,
+      number=1, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='data', full_name='org.apache.beam.fn.v1.ContinuableStream.data', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3917,
+  serialized_end=3978,
+)
+
+
+_STATEGETREQUEST = _descriptor.Descriptor(
+  name='StateGetRequest',
+  full_name='org.apache.beam.fn.v1.StateGetRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='continuation_token', full_name='org.apache.beam.fn.v1.StateGetRequest.continuation_token', index=0,
+      number=1, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=3980,
+  serialized_end=4025,
+)
+
+
+_STATEGETRESPONSE = _descriptor.Descriptor(
+  name='StateGetResponse',
+  full_name='org.apache.beam.fn.v1.StateGetResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='stream', full_name='org.apache.beam.fn.v1.StateGetResponse.stream', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4027,
+  serialized_end=4103,
+)
+
+
+_STATEAPPENDREQUEST = _descriptor.Descriptor(
+  name='StateAppendRequest',
+  full_name='org.apache.beam.fn.v1.StateAppendRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='data', full_name='org.apache.beam.fn.v1.StateAppendRequest.data', index=0,
+      number=1, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4105,
+  serialized_end=4139,
+)
+
+
+_STATEAPPENDRESPONSE = _descriptor.Descriptor(
+  name='StateAppendResponse',
+  full_name='org.apache.beam.fn.v1.StateAppendResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4141,
+  serialized_end=4162,
+)
+
+
+_STATECLEARREQUEST = _descriptor.Descriptor(
+  name='StateClearRequest',
+  full_name='org.apache.beam.fn.v1.StateClearRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4164,
+  serialized_end=4183,
+)
+
+
+_STATECLEARRESPONSE = _descriptor.Descriptor(
+  name='StateClearResponse',
+  full_name='org.apache.beam.fn.v1.StateClearResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4185,
+  serialized_end=4205,
+)
+
+
+_LOGENTRY_LIST = _descriptor.Descriptor(
+  name='List',
+  full_name='org.apache.beam.fn.v1.LogEntry.List',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='log_entries', full_name='org.apache.beam.fn.v1.LogEntry.List.log_entries', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4467,
+  serialized_end=4527,
+)
+
+_LOGENTRY = _descriptor.Descriptor(
+  name='LogEntry',
+  full_name='org.apache.beam.fn.v1.LogEntry',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='severity', full_name='org.apache.beam.fn.v1.LogEntry.severity', index=0,
+      number=1, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='timestamp', full_name='org.apache.beam.fn.v1.LogEntry.timestamp', index=1,
+      number=2, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='message', full_name='org.apache.beam.fn.v1.LogEntry.message', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='trace', full_name='org.apache.beam.fn.v1.LogEntry.trace', index=3,
+      number=4, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='instruction_reference', full_name='org.apache.beam.fn.v1.LogEntry.instruction_reference', index=4,
+      number=5, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='primitive_transform_reference', full_name='org.apache.beam.fn.v1.LogEntry.primitive_transform_reference', index=5,
+      number=6, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='log_location', full_name='org.apache.beam.fn.v1.LogEntry.log_location', index=6,
+      number=7, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='thread', full_name='org.apache.beam.fn.v1.LogEntry.thread', index=7,
+      number=8, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_LOGENTRY_LIST, ],
+  enum_types=[
+    _LOGENTRY_SEVERITY,
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4208,
+  serialized_end=4618,
+)
+
+
+_LOGCONTROL = _descriptor.Descriptor(
+  name='LogControl',
+  full_name='org.apache.beam.fn.v1.LogControl',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4620,
+  serialized_end=4632,
+)
+
+
+_APISERVICEDESCRIPTOR = _descriptor.Descriptor(
+  name='ApiServiceDescriptor',
+  full_name='org.apache.beam.fn.v1.ApiServiceDescriptor',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.ApiServiceDescriptor.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='url', full_name='org.apache.beam.fn.v1.ApiServiceDescriptor.url', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='oauth2_client_credentials_grant', full_name='org.apache.beam.fn.v1.ApiServiceDescriptor.oauth2_client_credentials_grant', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+    _descriptor.OneofDescriptor(
+      name='authentication', full_name='org.apache.beam.fn.v1.ApiServiceDescriptor.authentication',
+      index=0, containing_type=None, fields=[]),
+  ],
+  serialized_start=4635,
+  serialized_end=4796,
+)
+
+
+_OAUTH2CLIENTCREDENTIALSGRANT = _descriptor.Descriptor(
+  name='OAuth2ClientCredentialsGrant',
+  full_name='org.apache.beam.fn.v1.OAuth2ClientCredentialsGrant',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='url', full_name='org.apache.beam.fn.v1.OAuth2ClientCredentialsGrant.url', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4798,
+  serialized_end=4841,
+)
+
+
+_DOCKERCONTAINER = _descriptor.Descriptor(
+  name='DockerContainer',
+  full_name='org.apache.beam.fn.v1.DockerContainer',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='id', full_name='org.apache.beam.fn.v1.DockerContainer.id', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='uri', full_name='org.apache.beam.fn.v1.DockerContainer.uri', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    _descriptor.FieldDescriptor(
+      name='registry_reference', full_name='org.apache.beam.fn.v1.DockerContainer.registry_reference', index=2,
+      number=3, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=4843,
+  serialized_end=4913,
+)
+
+_TARGET_LIST.fields_by_name['target'].message_type = _TARGET
+_TARGET_LIST.containing_type = _TARGET
+_PRIMITIVETRANSFORM_INPUTSENTRY.fields_by_name['value'].message_type = _TARGET_LIST
+_PRIMITIVETRANSFORM_INPUTSENTRY.containing_type = _PRIMITIVETRANSFORM
+_PRIMITIVETRANSFORM_OUTPUTSENTRY.fields_by_name['value'].message_type = _PCOLLECTION
+_PRIMITIVETRANSFORM_OUTPUTSENTRY.containing_type = _PRIMITIVETRANSFORM
+_PRIMITIVETRANSFORM_SIDEINPUTSENTRY.fields_by_name['value'].message_type = _SIDEINPUT
+_PRIMITIVETRANSFORM_SIDEINPUTSENTRY.containing_type = _PRIMITIVETRANSFORM
+_PRIMITIVETRANSFORM.fields_by_name['function_spec'].message_type = _FUNCTIONSPEC
+_PRIMITIVETRANSFORM.fields_by_name['inputs'].message_type = _PRIMITIVETRANSFORM_INPUTSENTRY
+_PRIMITIVETRANSFORM.fields_by_name['outputs'].message_type = _PRIMITIVETRANSFORM_OUTPUTSENTRY
+_PRIMITIVETRANSFORM.fields_by_name['side_inputs'].message_type = _PRIMITIVETRANSFORM_SIDEINPUTSENTRY
+_FUNCTIONSPEC.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY
+_SIDEINPUT.fields_by_name['input'].message_type = _TARGET
+_SIDEINPUT.fields_by_name['view_fn'].message_type = _FUNCTIONSPEC
+_CODER.fields_by_name['function_spec'].message_type = _FUNCTIONSPEC
+_REMOTEGRPCPORT.fields_by_name['api_service_descriptor'].message_type = _APISERVICEDESCRIPTOR
+_INSTRUCTIONREQUEST.fields_by_name['register'].message_type = _REGISTERREQUEST
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle'].message_type = _PROCESSBUNDLEREQUEST
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle_progress'].message_type = _PROCESSBUNDLEPROGRESSREQUEST
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle_split'].message_type = _PROCESSBUNDLESPLITREQUEST
+_INSTRUCTIONREQUEST.oneofs_by_name['request'].fields.append(
+  _INSTRUCTIONREQUEST.fields_by_name['register'])
+_INSTRUCTIONREQUEST.fields_by_name['register'].containing_oneof = _INSTRUCTIONREQUEST.oneofs_by_name['request']
+_INSTRUCTIONREQUEST.oneofs_by_name['request'].fields.append(
+  _INSTRUCTIONREQUEST.fields_by_name['process_bundle'])
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle'].containing_oneof = _INSTRUCTIONREQUEST.oneofs_by_name['request']
+_INSTRUCTIONREQUEST.oneofs_by_name['request'].fields.append(
+  _INSTRUCTIONREQUEST.fields_by_name['process_bundle_progress'])
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle_progress'].containing_oneof = _INSTRUCTIONREQUEST.oneofs_by_name['request']
+_INSTRUCTIONREQUEST.oneofs_by_name['request'].fields.append(
+  _INSTRUCTIONREQUEST.fields_by_name['process_bundle_split'])
+_INSTRUCTIONREQUEST.fields_by_name['process_bundle_split'].containing_oneof = _INSTRUCTIONREQUEST.oneofs_by_name['request']
+_INSTRUCTIONRESPONSE.fields_by_name['register'].message_type = _REGISTERRESPONSE
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle'].message_type = _PROCESSBUNDLERESPONSE
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle_progress'].message_type = _PROCESSBUNDLEPROGRESSRESPONSE
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle_split'].message_type = _PROCESSBUNDLESPLITRESPONSE
+_INSTRUCTIONRESPONSE.oneofs_by_name['response'].fields.append(
+  _INSTRUCTIONRESPONSE.fields_by_name['register'])
+_INSTRUCTIONRESPONSE.fields_by_name['register'].containing_oneof = _INSTRUCTIONRESPONSE.oneofs_by_name['response']
+_INSTRUCTIONRESPONSE.oneofs_by_name['response'].fields.append(
+  _INSTRUCTIONRESPONSE.fields_by_name['process_bundle'])
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle'].containing_oneof = _INSTRUCTIONRESPONSE.oneofs_by_name['response']
+_INSTRUCTIONRESPONSE.oneofs_by_name['response'].fields.append(
+  _INSTRUCTIONRESPONSE.fields_by_name['process_bundle_progress'])
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle_progress'].containing_oneof = _INSTRUCTIONRESPONSE.oneofs_by_name['response']
+_INSTRUCTIONRESPONSE.oneofs_by_name['response'].fields.append(
+  _INSTRUCTIONRESPONSE.fields_by_name['process_bundle_split'])
+_INSTRUCTIONRESPONSE.fields_by_name['process_bundle_split'].containing_oneof = _INSTRUCTIONRESPONSE.oneofs_by_name['response']
+_REGISTERREQUEST.fields_by_name['process_bundle_descriptor'].message_type = _PROCESSBUNDLEDESCRIPTOR
+_PROCESSBUNDLEDESCRIPTOR.fields_by_name['primitive_transform'].message_type = _PRIMITIVETRANSFORM
+_PROCESSBUNDLEDESCRIPTOR.fields_by_name['coders'].message_type = _CODER
+_PROCESSBUNDLEREQUEST.fields_by_name['cache_tokens'].message_type = _CACHETOKEN
+_PRIMITIVETRANSFORMSPLIT.fields_by_name['completed_restriction'].message_type = _FUNCTIONSPEC
+_PRIMITIVETRANSFORMSPLIT.fields_by_name['remaining_restriction'].message_type = _FUNCTIONSPEC
+_PROCESSBUNDLESPLITRESPONSE.fields_by_name['splits'].message_type = _PRIMITIVETRANSFORMSPLIT
+_ELEMENTS_DATA.fields_by_name['target'].message_type = _TARGET
+_ELEMENTS_DATA.containing_type = _ELEMENTS
+_ELEMENTS.fields_by_name['data'].message_type = _ELEMENTS_DATA
+_STATEREQUEST.fields_by_name['state_key'].message_type = _STATEKEY
+_STATEREQUEST.fields_by_name['get'].message_type = _STATEGETREQUEST
+_STATEREQUEST.fields_by_name['append'].message_type = _STATEAPPENDREQUEST
+_STATEREQUEST.fields_by_name['clear'].message_type = _STATECLEARREQUEST
+_STATEREQUEST.oneofs_by_name['request'].fields.append(
+  _STATEREQUEST.fields_by_name['get'])
+_STATEREQUEST.fields_by_name['get'].containing_oneof = _STATEREQUEST.oneofs_by_name['request']
+_STATEREQUEST.oneofs_by_name['request'].fields.append(
+  _STATEREQUEST.fields_by_name['append'])
+_STATEREQUEST.fields_by_name['append'].containing_oneof = _STATEREQUEST.oneofs_by_name['request']
+_STATEREQUEST.oneofs_by_name['request'].fields.append(
+  _STATEREQUEST.fields_by_name['clear'])
+_STATEREQUEST.fields_by_name['clear'].containing_oneof = _STATEREQUEST.oneofs_by_name['request']
+_STATERESPONSE.fields_by_name['get'].message_type = _STATEGETRESPONSE
+_STATERESPONSE.fields_by_name['append'].message_type = _STATEAPPENDRESPONSE
+_STATERESPONSE.fields_by_name['clear'].message_type = _STATECLEARRESPONSE
+_STATERESPONSE.oneofs_by_name['response'].fields.append(
+  _STATERESPONSE.fields_by_name['get'])
+_STATERESPONSE.fields_by_name['get'].containing_oneof = _STATERESPONSE.oneofs_by_name['response']
+_STATERESPONSE.oneofs_by_name['response'].fields.append(
+  _STATERESPONSE.fields_by_name['append'])
+_STATERESPONSE.fields_by_name['append'].containing_oneof = _STATERESPONSE.oneofs_by_name['response']
+_STATERESPONSE.oneofs_by_name['response'].fields.append(
+  _STATERESPONSE.fields_by_name['clear'])
+_STATERESPONSE.fields_by_name['clear'].containing_oneof = _STATERESPONSE.oneofs_by_name['response']
+_CACHETOKEN.fields_by_name['target'].message_type = _TARGET
+_STATEKEY.fields_by_name['target'].message_type = _TARGET
+_STATEGETRESPONSE.fields_by_name['stream'].message_type = _CONTINUABLESTREAM
+_LOGENTRY_LIST.fields_by_name['log_entries'].message_type = _LOGENTRY
+_LOGENTRY_LIST.containing_type = _LOGENTRY
+_LOGENTRY.fields_by_name['severity'].enum_type = _LOGENTRY_SEVERITY
+_LOGENTRY.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
+_LOGENTRY_SEVERITY.containing_type = _LOGENTRY
+_APISERVICEDESCRIPTOR.fields_by_name['oauth2_client_credentials_grant'].message_type = _OAUTH2CLIENTCREDENTIALSGRANT
+_APISERVICEDESCRIPTOR.oneofs_by_name['authentication'].fields.append(
+  _APISERVICEDESCRIPTOR.fields_by_name['oauth2_client_credentials_grant'])
+_APISERVICEDESCRIPTOR.fields_by_name['oauth2_client_credentials_grant'].containing_oneof = _APISERVICEDESCRIPTOR.oneofs_by_name['authentication']
+DESCRIPTOR.message_types_by_name['Target'] = _TARGET
+DESCRIPTOR.message_types_by_name['PCollection'] = _PCOLLECTION
+DESCRIPTOR.message_types_by_name['PrimitiveTransform'] = _PRIMITIVETRANSFORM
+DESCRIPTOR.message_types_by_name['FunctionSpec'] = _FUNCTIONSPEC
+DESCRIPTOR.message_types_by_name['SideInput'] = _SIDEINPUT
+DESCRIPTOR.message_types_by_name['Coder'] = _CODER
+DESCRIPTOR.message_types_by_name['RemoteGrpcPort'] = _REMOTEGRPCPORT
+DESCRIPTOR.message_types_by_name['InstructionRequest'] = _INSTRUCTIONREQUEST
+DESCRIPTOR.message_types_by_name['InstructionResponse'] = _INSTRUCTIONRESPONSE
+DESCRIPTOR.message_types_by_name['RegisterRequest'] = _REGISTERREQUEST
+DESCRIPTOR.message_types_by_name['RegisterResponse'] = _REGISTERRESPONSE
+DESCRIPTOR.message_types_by_name['ProcessBundleDescriptor'] = _PROCESSBUNDLEDESCRIPTOR
+DESCRIPTOR.message_types_by_name['ProcessBundleRequest'] = _PROCESSBUNDLEREQUEST
+DESCRIPTOR.message_types_by_name['ProcessBundleResponse'] = _PROCESSBUNDLERESPONSE
+DESCRIPTOR.message_types_by_name['ProcessBundleProgressRequest'] = _PROCESSBUNDLEPROGRESSREQUEST
+DESCRIPTOR.message_types_by_name['ProcessBundleProgressResponse'] = _PROCESSBUNDLEPROGRESSRESPONSE
+DESCRIPTOR.message_types_by_name['ProcessBundleSplitRequest'] = _PROCESSBUNDLESPLITREQUEST
+DESCRIPTOR.message_types_by_name['ElementCountRestriction'] = _ELEMENTCOUNTRESTRICTION
+DESCRIPTOR.message_types_by_name['ElementCountSkipRestriction'] = _ELEMENTCOUNTSKIPRESTRICTION
+DESCRIPTOR.message_types_by_name['PrimitiveTransformSplit'] = _PRIMITIVETRANSFORMSPLIT
+DESCRIPTOR.message_types_by_name['ProcessBundleSplitResponse'] = _PROCESSBUNDLESPLITRESPONSE
+DESCRIPTOR.message_types_by_name['Elements'] = _ELEMENTS
+DESCRIPTOR.message_types_by_name['StateRequest'] = _STATEREQUEST
+DESCRIPTOR.message_types_by_name['StateResponse'] = _STATERESPONSE
+DESCRIPTOR.message_types_by_name['CacheToken'] = _CACHETOKEN
+DESCRIPTOR.message_types_by_name['StateKey'] = _STATEKEY
+DESCRIPTOR.message_types_by_name['ContinuableStream'] = _CONTINUABLESTREAM
+DESCRIPTOR.message_types_by_name['StateGetRequest'] = _STATEGETREQUEST
+DESCRIPTOR.message_types_by_name['StateGetResponse'] = _STATEGETRESPONSE
+DESCRIPTOR.message_types_by_name['StateAppendRequest'] = _STATEAPPENDREQUEST
+DESCRIPTOR.message_types_by_name['StateAppendResponse'] = _STATEAPPENDRESPONSE
+DESCRIPTOR.message_types_by_name['StateClearRequest'] = _STATECLEARREQUEST
+DESCRIPTOR.message_types_by_name['StateClearResponse'] = _STATECLEARRESPONSE
+DESCRIPTOR.message_types_by_name['LogEntry'] = _LOGENTRY
+DESCRIPTOR.message_types_by_name['LogControl'] = _LOGCONTROL
+DESCRIPTOR.message_types_by_name['ApiServiceDescriptor'] = _APISERVICEDESCRIPTOR
+DESCRIPTOR.message_types_by_name['OAuth2ClientCredentialsGrant'] = _OAUTH2CLIENTCREDENTIALSGRANT
+DESCRIPTOR.message_types_by_name['DockerContainer'] = _DOCKERCONTAINER
+
+Target = _reflection.GeneratedProtocolMessageType('Target', (_message.Message,), dict(
+
+  List = _reflection.GeneratedProtocolMessageType('List', (_message.Message,), dict(
+    DESCRIPTOR = _TARGET_LIST,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.Target.List)
+    ))
+  ,
+  DESCRIPTOR = _TARGET,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.Target)
+  ))
+_sym_db.RegisterMessage(Target)
+_sym_db.RegisterMessage(Target.List)
+
+PCollection = _reflection.GeneratedProtocolMessageType('PCollection', (_message.Message,), dict(
+  DESCRIPTOR = _PCOLLECTION,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PCollection)
+  ))
+_sym_db.RegisterMessage(PCollection)
+
+PrimitiveTransform = _reflection.GeneratedProtocolMessageType('PrimitiveTransform', (_message.Message,), dict(
+
+  InputsEntry = _reflection.GeneratedProtocolMessageType('InputsEntry', (_message.Message,), dict(
+    DESCRIPTOR = _PRIMITIVETRANSFORM_INPUTSENTRY,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PrimitiveTransform.InputsEntry)
+    ))
+  ,
+
+  OutputsEntry = _reflection.GeneratedProtocolMessageType('OutputsEntry', (_message.Message,), dict(
+    DESCRIPTOR = _PRIMITIVETRANSFORM_OUTPUTSENTRY,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PrimitiveTransform.OutputsEntry)
+    ))
+  ,
+
+  SideInputsEntry = _reflection.GeneratedProtocolMessageType('SideInputsEntry', (_message.Message,), dict(
+    DESCRIPTOR = _PRIMITIVETRANSFORM_SIDEINPUTSENTRY,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PrimitiveTransform.SideInputsEntry)
+    ))
+  ,
+  DESCRIPTOR = _PRIMITIVETRANSFORM,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PrimitiveTransform)
+  ))
+_sym_db.RegisterMessage(PrimitiveTransform)
+_sym_db.RegisterMessage(PrimitiveTransform.InputsEntry)
+_sym_db.RegisterMessage(PrimitiveTransform.OutputsEntry)
+_sym_db.RegisterMessage(PrimitiveTransform.SideInputsEntry)
+
+FunctionSpec = _reflection.GeneratedProtocolMessageType('FunctionSpec', (_message.Message,), dict(
+  DESCRIPTOR = _FUNCTIONSPEC,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.FunctionSpec)
+  ))
+_sym_db.RegisterMessage(FunctionSpec)
+
+SideInput = _reflection.GeneratedProtocolMessageType('SideInput', (_message.Message,), dict(
+  DESCRIPTOR = _SIDEINPUT,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.SideInput)
+  ))
+_sym_db.RegisterMessage(SideInput)
+
+Coder = _reflection.GeneratedProtocolMessageType('Coder', (_message.Message,), dict(
+  DESCRIPTOR = _CODER,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.Coder)
+  ))
+_sym_db.RegisterMessage(Coder)
+
+RemoteGrpcPort = _reflection.GeneratedProtocolMessageType('RemoteGrpcPort', (_message.Message,), dict(
+  DESCRIPTOR = _REMOTEGRPCPORT,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.RemoteGrpcPort)
+  ))
+_sym_db.RegisterMessage(RemoteGrpcPort)
+
+InstructionRequest = _reflection.GeneratedProtocolMessageType('InstructionRequest', (_message.Message,), dict(
+  DESCRIPTOR = _INSTRUCTIONREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.InstructionRequest)
+  ))
+_sym_db.RegisterMessage(InstructionRequest)
+
+InstructionResponse = _reflection.GeneratedProtocolMessageType('InstructionResponse', (_message.Message,), dict(
+  DESCRIPTOR = _INSTRUCTIONRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.InstructionResponse)
+  ))
+_sym_db.RegisterMessage(InstructionResponse)
+
+RegisterRequest = _reflection.GeneratedProtocolMessageType('RegisterRequest', (_message.Message,), dict(
+  DESCRIPTOR = _REGISTERREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.RegisterRequest)
+  ))
+_sym_db.RegisterMessage(RegisterRequest)
+
+RegisterResponse = _reflection.GeneratedProtocolMessageType('RegisterResponse', (_message.Message,), dict(
+  DESCRIPTOR = _REGISTERRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.RegisterResponse)
+  ))
+_sym_db.RegisterMessage(RegisterResponse)
+
+ProcessBundleDescriptor = _reflection.GeneratedProtocolMessageType('ProcessBundleDescriptor', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLEDESCRIPTOR,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleDescriptor)
+  ))
+_sym_db.RegisterMessage(ProcessBundleDescriptor)
+
+ProcessBundleRequest = _reflection.GeneratedProtocolMessageType('ProcessBundleRequest', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLEREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleRequest)
+  ))
+_sym_db.RegisterMessage(ProcessBundleRequest)
+
+ProcessBundleResponse = _reflection.GeneratedProtocolMessageType('ProcessBundleResponse', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLERESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleResponse)
+  ))
+_sym_db.RegisterMessage(ProcessBundleResponse)
+
+ProcessBundleProgressRequest = _reflection.GeneratedProtocolMessageType('ProcessBundleProgressRequest', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLEPROGRESSREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleProgressRequest)
+  ))
+_sym_db.RegisterMessage(ProcessBundleProgressRequest)
+
+ProcessBundleProgressResponse = _reflection.GeneratedProtocolMessageType('ProcessBundleProgressResponse', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLEPROGRESSRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleProgressResponse)
+  ))
+_sym_db.RegisterMessage(ProcessBundleProgressResponse)
+
+ProcessBundleSplitRequest = _reflection.GeneratedProtocolMessageType('ProcessBundleSplitRequest', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLESPLITREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleSplitRequest)
+  ))
+_sym_db.RegisterMessage(ProcessBundleSplitRequest)
+
+ElementCountRestriction = _reflection.GeneratedProtocolMessageType('ElementCountRestriction', (_message.Message,), dict(
+  DESCRIPTOR = _ELEMENTCOUNTRESTRICTION,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ElementCountRestriction)
+  ))
+_sym_db.RegisterMessage(ElementCountRestriction)
+
+ElementCountSkipRestriction = _reflection.GeneratedProtocolMessageType('ElementCountSkipRestriction', (_message.Message,), dict(
+  DESCRIPTOR = _ELEMENTCOUNTSKIPRESTRICTION,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ElementCountSkipRestriction)
+  ))
+_sym_db.RegisterMessage(ElementCountSkipRestriction)
+
+PrimitiveTransformSplit = _reflection.GeneratedProtocolMessageType('PrimitiveTransformSplit', (_message.Message,), dict(
+  DESCRIPTOR = _PRIMITIVETRANSFORMSPLIT,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.PrimitiveTransformSplit)
+  ))
+_sym_db.RegisterMessage(PrimitiveTransformSplit)
+
+ProcessBundleSplitResponse = _reflection.GeneratedProtocolMessageType('ProcessBundleSplitResponse', (_message.Message,), dict(
+  DESCRIPTOR = _PROCESSBUNDLESPLITRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ProcessBundleSplitResponse)
+  ))
+_sym_db.RegisterMessage(ProcessBundleSplitResponse)
+
+Elements = _reflection.GeneratedProtocolMessageType('Elements', (_message.Message,), dict(
+
+  Data = _reflection.GeneratedProtocolMessageType('Data', (_message.Message,), dict(
+    DESCRIPTOR = _ELEMENTS_DATA,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.Elements.Data)
+    ))
+  ,
+  DESCRIPTOR = _ELEMENTS,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.Elements)
+  ))
+_sym_db.RegisterMessage(Elements)
+_sym_db.RegisterMessage(Elements.Data)
+
+StateRequest = _reflection.GeneratedProtocolMessageType('StateRequest', (_message.Message,), dict(
+  DESCRIPTOR = _STATEREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateRequest)
+  ))
+_sym_db.RegisterMessage(StateRequest)
+
+StateResponse = _reflection.GeneratedProtocolMessageType('StateResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STATERESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateResponse)
+  ))
+_sym_db.RegisterMessage(StateResponse)
+
+CacheToken = _reflection.GeneratedProtocolMessageType('CacheToken', (_message.Message,), dict(
+  DESCRIPTOR = _CACHETOKEN,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.CacheToken)
+  ))
+_sym_db.RegisterMessage(CacheToken)
+
+StateKey = _reflection.GeneratedProtocolMessageType('StateKey', (_message.Message,), dict(
+  DESCRIPTOR = _STATEKEY,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateKey)
+  ))
+_sym_db.RegisterMessage(StateKey)
+
+ContinuableStream = _reflection.GeneratedProtocolMessageType('ContinuableStream', (_message.Message,), dict(
+  DESCRIPTOR = _CONTINUABLESTREAM,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.ContinuableStream)
+  ))
+_sym_db.RegisterMessage(ContinuableStream)
+
+StateGetRequest = _reflection.GeneratedProtocolMessageType('StateGetRequest', (_message.Message,), dict(
+  DESCRIPTOR = _STATEGETREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateGetRequest)
+  ))
+_sym_db.RegisterMessage(StateGetRequest)
+
+StateGetResponse = _reflection.GeneratedProtocolMessageType('StateGetResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STATEGETRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateGetResponse)
+  ))
+_sym_db.RegisterMessage(StateGetResponse)
+
+StateAppendRequest = _reflection.GeneratedProtocolMessageType('StateAppendRequest', (_message.Message,), dict(
+  DESCRIPTOR = _STATEAPPENDREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateAppendRequest)
+  ))
+_sym_db.RegisterMessage(StateAppendRequest)
+
+StateAppendResponse = _reflection.GeneratedProtocolMessageType('StateAppendResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STATEAPPENDRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateAppendResponse)
+  ))
+_sym_db.RegisterMessage(StateAppendResponse)
+
+StateClearRequest = _reflection.GeneratedProtocolMessageType('StateClearRequest', (_message.Message,), dict(
+  DESCRIPTOR = _STATECLEARREQUEST,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateClearRequest)
+  ))
+_sym_db.RegisterMessage(StateClearRequest)
+
+StateClearResponse = _reflection.GeneratedProtocolMessageType('StateClearResponse', (_message.Message,), dict(
+  DESCRIPTOR = _STATECLEARRESPONSE,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.StateClearResponse)
+  ))
+_sym_db.RegisterMessage(StateClearResponse)
+
+LogEntry = _reflection.GeneratedProtocolMessageType('LogEntry', (_message.Message,), dict(
+
+  List = _reflection.GeneratedProtocolMessageType('List', (_message.Message,), dict(
+    DESCRIPTOR = _LOGENTRY_LIST,
+    __module__ = 'beam_fn_api_pb2'
+    # @@protoc_insertion_point(class_scope:org.apache.beam.fn.v1.LogEntry.List)
+    ))
+  ,
+  DESCRIPTOR = _LOGENTRY,
+  __module__ = 'beam_fn_api_pb2'
+  # @@protoc_insertion_point(class_scope:org.

<TRUNCATED>