# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: etcd/etcdserver/etcdserverpb/etcdserver.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 gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='etcd/etcdserver/etcdserverpb/etcdserver.proto',
  package='etcdserverpb',
  syntax='proto2',
  serialized_pb=_b('\n-etcd/etcdserver/etcdserverpb/etcdserver.proto\x12\x0c\x65tcdserverpb\x1a\x14gogoproto/gogo.proto\"\xff\x02\n\x07Request\x12\x10\n\x02ID\x18\x01 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x14\n\x06Method\x18\x02 \x01(\tB\x04\xc8\xde\x1f\x00\x12\x12\n\x04Path\x18\x03 \x01(\tB\x04\xc8\xde\x1f\x00\x12\x11\n\x03Val\x18\x04 \x01(\tB\x04\xc8\xde\x1f\x00\x12\x11\n\x03\x44ir\x18\x05 \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x17\n\tPrevValue\x18\x06 \x01(\tB\x04\xc8\xde\x1f\x00\x12\x17\n\tPrevIndex\x18\x07 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x17\n\tPrevExist\x18\x08 \x01(\x08\x42\x04\xc8\xde\x1f\x01\x12\x18\n\nExpiration\x18\t \x01(\x03\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04Wait\x18\n \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x13\n\x05Since\x18\x0b \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x17\n\tRecursive\x18\x0c \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x14\n\x06Sorted\x18\r \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x14\n\x06Quorum\x18\x0e \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04Time\x18\x0f \x01(\x03\x42\x04\xc8\xde\x1f\x00\x12\x14\n\x06Stream\x18\x10 \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x15\n\x07Refresh\x18\x11 \x01(\x08\x42\x04\xc8\xde\x1f\x01\"9\n\x08Metadata\x12\x14\n\x06NodeID\x18\x01 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x17\n\tClusterID\x18\x02 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x42\x10\xc8\xe2\x1e\x01\xe0\xe2\x1e\x01\xd0\xe2\x1e\x01\xc8\xe1\x1e\x00')
  ,
  dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_REQUEST = _descriptor.Descriptor(
  name='Request',
  full_name='etcdserverpb.Request',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ID', full_name='etcdserverpb.Request.ID', index=0,
      number=1, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Method', full_name='etcdserverpb.Request.Method', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Path', full_name='etcdserverpb.Request.Path', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Val', full_name='etcdserverpb.Request.Val', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Dir', full_name='etcdserverpb.Request.Dir', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='PrevValue', full_name='etcdserverpb.Request.PrevValue', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='PrevIndex', full_name='etcdserverpb.Request.PrevIndex', index=6,
      number=7, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='PrevExist', full_name='etcdserverpb.Request.PrevExist', index=7,
      number=8, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\001'))),
    _descriptor.FieldDescriptor(
      name='Expiration', full_name='etcdserverpb.Request.Expiration', index=8,
      number=9, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Wait', full_name='etcdserverpb.Request.Wait', index=9,
      number=10, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Since', full_name='etcdserverpb.Request.Since', index=10,
      number=11, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Recursive', full_name='etcdserverpb.Request.Recursive', index=11,
      number=12, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Sorted', full_name='etcdserverpb.Request.Sorted', index=12,
      number=13, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Quorum', full_name='etcdserverpb.Request.Quorum', index=13,
      number=14, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Time', full_name='etcdserverpb.Request.Time', index=14,
      number=15, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Stream', full_name='etcdserverpb.Request.Stream', index=15,
      number=16, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Refresh', full_name='etcdserverpb.Request.Refresh', index=16,
      number=17, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\001'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=86,
  serialized_end=469,
)


_METADATA = _descriptor.Descriptor(
  name='Metadata',
  full_name='etcdserverpb.Metadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='NodeID', full_name='etcdserverpb.Metadata.NodeID', index=0,
      number=1, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='ClusterID', full_name='etcdserverpb.Metadata.ClusterID', index=1,
      number=2, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=471,
  serialized_end=528,
)

DESCRIPTOR.message_types_by_name['Request'] = _REQUEST
DESCRIPTOR.message_types_by_name['Metadata'] = _METADATA

Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict(
  DESCRIPTOR = _REQUEST,
  __module__ = 'etcd.etcdserver.etcdserverpb.etcdserver_pb2'
  # @@protoc_insertion_point(class_scope:etcdserverpb.Request)
  ))
_sym_db.RegisterMessage(Request)

Metadata = _reflection.GeneratedProtocolMessageType('Metadata', (_message.Message,), dict(
  DESCRIPTOR = _METADATA,
  __module__ = 'etcd.etcdserver.etcdserverpb.etcdserver_pb2'
  # @@protoc_insertion_point(class_scope:etcdserverpb.Metadata)
  ))
_sym_db.RegisterMessage(Metadata)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\310\342\036\001\340\342\036\001\320\342\036\001\310\341\036\000'))
_REQUEST.fields_by_name['ID'].has_options = True
_REQUEST.fields_by_name['ID']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Method'].has_options = True
_REQUEST.fields_by_name['Method']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Path'].has_options = True
_REQUEST.fields_by_name['Path']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Val'].has_options = True
_REQUEST.fields_by_name['Val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Dir'].has_options = True
_REQUEST.fields_by_name['Dir']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['PrevValue'].has_options = True
_REQUEST.fields_by_name['PrevValue']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['PrevIndex'].has_options = True
_REQUEST.fields_by_name['PrevIndex']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['PrevExist'].has_options = True
_REQUEST.fields_by_name['PrevExist']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\001'))
_REQUEST.fields_by_name['Expiration'].has_options = True
_REQUEST.fields_by_name['Expiration']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Wait'].has_options = True
_REQUEST.fields_by_name['Wait']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Since'].has_options = True
_REQUEST.fields_by_name['Since']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Recursive'].has_options = True
_REQUEST.fields_by_name['Recursive']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Sorted'].has_options = True
_REQUEST.fields_by_name['Sorted']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Quorum'].has_options = True
_REQUEST.fields_by_name['Quorum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Time'].has_options = True
_REQUEST.fields_by_name['Time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Stream'].has_options = True
_REQUEST.fields_by_name['Stream']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUEST.fields_by_name['Refresh'].has_options = True
_REQUEST.fields_by_name['Refresh']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\001'))
_METADATA.fields_by_name['NodeID'].has_options = True
_METADATA.fields_by_name['NodeID']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_METADATA.fields_by_name['ClusterID'].has_options = True
_METADATA.fields_by_name['ClusterID']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
import abc
import six
from grpc.beta import implementations as beta_implementations
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities
# @@protoc_insertion_point(module_scope)
