text: # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: internal.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()
  
  
  import grpcdemo.common.internal.common_pb2 as common__pb2
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='internal.proto',
    package='internal',
    syntax='proto3',
    serialized_pb=_b('\n\x0einternal.proto\x12\x08internal\x1a\x0c\x63ommon.proto\"\xa3\x01\n\x08Resource\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12*\n\x04info\x18\x03 \x03(\x0b\x32\x1c.internal.Resource.InfoEntry\x12\x10\n\x08is_error\x18\x06 \x01(\x08\x1a?\n\tInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.internal.JSONTYPE:\x02\x38\x01\"\x95\x01\n\rResourceReply\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12%\n\tresources\x18\x02 \x03(\x0b\x32\x12.internal.Resource\x12\x10\n\x08is_final\x18\x03 \x01(\x08\x12\x10\n\x08is_error\x18\x04 \x01(\x08\x12\x12\n\nerror_code\x18\x05 \x01(\t\x12\x11\n\terror_msg\x18\x06 \x01(\t\"\xb6\x01\n\x0f\x44\x65scribeRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x35\n\x06params\x18\x03 \x03(\x0b\x32%.internal.DescribeRequest.ParamsEntry\x1a\x41\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.internal.JSONTYPE:\x02\x38\x01\"\xb2\x01\n\rCreateRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x33\n\x06params\x18\x03 \x03(\x0b\x32#.internal.CreateRequest.ParamsEntry\x1a\x41\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.internal.JSONTYPE:\x02\x38\x01\"_\n\rUpdateRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x13\n\x0bresource_id\x18\x03 \x01(\t\x12\x0e\n\x06\x63\x61ncel\x18\x04 \x01(\x08\x32\xd4\x01\n\x0eInternalServer\x12@\n\x08\x44\x65scribe\x12\x19.internal.DescribeRequest\x1a\x17.internal.ResourceReply\"\x00\x12>\n\x06\x43reate\x12\x17.internal.CreateRequest\x1a\x17.internal.ResourceReply\"\x00\x30\x01\x12@\n\x06Update\x12\x17.internal.UpdateRequest\x1a\x17.internal.ResourceReply\"\x00(\x01\x30\x01\x62\x06proto3')
    ,
    dependencies=[common__pb2.DESCRIPTOR,])
  
  
  
  
  _RESOURCE_INFOENTRY = _descriptor.Descriptor(
    name='InfoEntry',
    full_name='internal.Resource.InfoEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='internal.Resource.InfoEntry.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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='value', full_name='internal.Resource.InfoEntry.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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=143,
    serialized_end=206,
  )
  
  _RESOURCE = _descriptor.Descriptor(
    name='Resource',
    full_name='internal.Resource',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='id', full_name='internal.Resource.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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='type', full_name='internal.Resource.type', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='info', full_name='internal.Resource.info', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='is_error', full_name='internal.Resource.is_error', index=3,
        number=6, 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=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[_RESOURCE_INFOENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=43,
    serialized_end=206,
  )
  
  
  _RESOURCEREPLY = _descriptor.Descriptor(
    name='ResourceReply',
    full_name='internal.ResourceReply',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='request_id', full_name='internal.ResourceReply.request_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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='resources', full_name='internal.ResourceReply.resources', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='is_final', full_name='internal.ResourceReply.is_final', index=2,
        number=3, 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=None, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='is_error', full_name='internal.ResourceReply.is_error', index=3,
        number=4, 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=None, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='error_code', full_name='internal.ResourceReply.error_code', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='error_msg', full_name='internal.ResourceReply.error_msg', 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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=209,
    serialized_end=358,
  )
  
  
  _DESCRIBEREQUEST_PARAMSENTRY = _descriptor.Descriptor(
    name='ParamsEntry',
    full_name='internal.DescribeRequest.ParamsEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='internal.DescribeRequest.ParamsEntry.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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='value', full_name='internal.DescribeRequest.ParamsEntry.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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=478,
    serialized_end=543,
  )
  
  _DESCRIBEREQUEST = _descriptor.Descriptor(
    name='DescribeRequest',
    full_name='internal.DescribeRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='request_id', full_name='internal.DescribeRequest.request_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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='resource_type', full_name='internal.DescribeRequest.resource_type', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='params', full_name='internal.DescribeRequest.params', 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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[_DESCRIBEREQUEST_PARAMSENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=361,
    serialized_end=543,
  )
  
  
  _CREATEREQUEST_PARAMSENTRY = _descriptor.Descriptor(
    name='ParamsEntry',
    full_name='internal.CreateRequest.ParamsEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='key', full_name='internal.CreateRequest.ParamsEntry.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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='value', full_name='internal.CreateRequest.ParamsEntry.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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=478,
    serialized_end=543,
  )
  
  _CREATEREQUEST = _descriptor.Descriptor(
    name='CreateRequest',
    full_name='internal.CreateRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='request_id', full_name='internal.CreateRequest.request_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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='resource_type', full_name='internal.CreateRequest.resource_type', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='params', full_name='internal.CreateRequest.params', 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, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[_CREATEREQUEST_PARAMSENTRY, ],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=546,
    serialized_end=724,
  )
  
  
  _UPDATEREQUEST = _descriptor.Descriptor(
    name='UpdateRequest',
    full_name='internal.UpdateRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='request_id', full_name='internal.UpdateRequest.request_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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='resource_type', full_name='internal.UpdateRequest.resource_type', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='resource_id', full_name='internal.UpdateRequest.resource_id', 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, file=DESCRIPTOR),
      _descriptor.FieldDescriptor(
        name='cancel', full_name='internal.UpdateRequest.cancel', index=3,
        number=4, 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=None, file=DESCRIPTOR),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=726,
    serialized_end=821,
  )
  
  _RESOURCE_INFOENTRY.fields_by_name['value'].message_type = common__pb2._JSONTYPE
  _RESOURCE_INFOENTRY.containing_type = _RESOURCE
  _RESOURCE.fields_by_name['info'].message_type = _RESOURCE_INFOENTRY
  _RESOURCEREPLY.fields_by_name['resources'].message_type = _RESOURCE
  _DESCRIBEREQUEST_PARAMSENTRY.fields_by_name['value'].message_type = common__pb2._JSONTYPE
  _DESCRIBEREQUEST_PARAMSENTRY.containing_type = _DESCRIBEREQUEST
  _DESCRIBEREQUEST.fields_by_name['params'].message_type = _DESCRIBEREQUEST_PARAMSENTRY
  _CREATEREQUEST_PARAMSENTRY.fields_by_name['value'].message_type = common__pb2._JSONTYPE
  _CREATEREQUEST_PARAMSENTRY.containing_type = _CREATEREQUEST
  _CREATEREQUEST.fields_by_name['params'].message_type = _CREATEREQUEST_PARAMSENTRY
  DESCRIPTOR.message_types_by_name['Resource'] = _RESOURCE
  DESCRIPTOR.message_types_by_name['ResourceReply'] = _RESOURCEREPLY
  DESCRIPTOR.message_types_by_name['DescribeRequest'] = _DESCRIBEREQUEST
  DESCRIPTOR.message_types_by_name['CreateRequest'] = _CREATEREQUEST
  DESCRIPTOR.message_types_by_name['UpdateRequest'] = _UPDATEREQUEST
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  Resource = _reflection.GeneratedProtocolMessageType('Resource', (_message.Message,), dict(
  
    InfoEntry = _reflection.GeneratedProtocolMessageType('InfoEntry', (_message.Message,), dict(
      DESCRIPTOR = _RESOURCE_INFOENTRY,
      __module__ = 'internal_pb2'
      # @@protoc_insertion_point(class_scope:internal.Resource.InfoEntry)
      ))
    ,
    DESCRIPTOR = _RESOURCE,
    __module__ = 'internal_pb2'
    # @@protoc_insertion_point(class_scope:internal.Resource)
    ))
  _sym_db.RegisterMessage(Resource)
  _sym_db.RegisterMessage(Resource.InfoEntry)
  
  ResourceReply = _reflection.GeneratedProtocolMessageType('ResourceReply', (_message.Message,), dict(
    DESCRIPTOR = _RESOURCEREPLY,
    __module__ = 'internal_pb2'
    # @@protoc_insertion_point(class_scope:internal.ResourceReply)
    ))
  _sym_db.RegisterMessage(ResourceReply)
  
  DescribeRequest = _reflection.GeneratedProtocolMessageType('DescribeRequest', (_message.Message,), dict(
  
    ParamsEntry = _reflection.GeneratedProtocolMessageType('ParamsEntry', (_message.Message,), dict(
      DESCRIPTOR = _DESCRIBEREQUEST_PARAMSENTRY,
      __module__ = 'internal_pb2'
      # @@protoc_insertion_point(class_scope:internal.DescribeRequest.ParamsEntry)
      ))
    ,
    DESCRIPTOR = _DESCRIBEREQUEST,
    __module__ = 'internal_pb2'
    # @@protoc_insertion_point(class_scope:internal.DescribeRequest)
    ))
  _sym_db.RegisterMessage(DescribeRequest)
  _sym_db.RegisterMessage(DescribeRequest.ParamsEntry)
  
  CreateRequest = _reflection.GeneratedProtocolMessageType('CreateRequest', (_message.Message,), dict(
  
    ParamsEntry = _reflection.GeneratedProtocolMessageType('ParamsEntry', (_message.Message,), dict(
      DESCRIPTOR = _CREATEREQUEST_PARAMSENTRY,
      __module__ = 'internal_pb2'
      # @@protoc_insertion_point(class_scope:internal.CreateRequest.ParamsEntry)
      ))
    ,
    DESCRIPTOR = _CREATEREQUEST,
    __module__ = 'internal_pb2'
    # @@protoc_insertion_point(class_scope:internal.CreateRequest)
    ))
  _sym_db.RegisterMessage(CreateRequest)
  _sym_db.RegisterMessage(CreateRequest.ParamsEntry)
  
  UpdateRequest = _reflection.GeneratedProtocolMessageType('UpdateRequest', (_message.Message,), dict(
    DESCRIPTOR = _UPDATEREQUEST,
    __module__ = 'internal_pb2'
    # @@protoc_insertion_point(class_scope:internal.UpdateRequest)
    ))
  _sym_db.RegisterMessage(UpdateRequest)
  
  
  _RESOURCE_INFOENTRY.has_options = True
  _RESOURCE_INFOENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _DESCRIBEREQUEST_PARAMSENTRY.has_options = True
  _DESCRIBEREQUEST_PARAMSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  _CREATEREQUEST_PARAMSENTRY.has_options = True
  _CREATEREQUEST_PARAMSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
  
  _INTERNALSERVER = _descriptor.ServiceDescriptor(
    name='InternalServer',
    full_name='internal.InternalServer',
    file=DESCRIPTOR,
    index=0,
    options=None,
    serialized_start=824,
    serialized_end=1036,
    methods=[
    _descriptor.MethodDescriptor(
      name='Describe',
      full_name='internal.InternalServer.Describe',
      index=0,
      containing_service=None,
      input_type=_DESCRIBEREQUEST,
      output_type=_RESOURCEREPLY,
      options=None,
    ),
    _descriptor.MethodDescriptor(
      name='Create',
      full_name='internal.InternalServer.Create',
      index=1,
      containing_service=None,
      input_type=_CREATEREQUEST,
      output_type=_RESOURCEREPLY,
      options=None,
    ),
    _descriptor.MethodDescriptor(
      name='Update',
      full_name='internal.InternalServer.Update',
      index=2,
      containing_service=None,
      input_type=_UPDATEREQUEST,
      output_type=_RESOURCEREPLY,
      options=None,
    ),
  ])
  _sym_db.RegisterServiceDescriptor(_INTERNALSERVER)
  
  DESCRIPTOR.services_by_name['InternalServer'] = _INTERNALSERVER
  
  # @@protoc_insertion_point(module_scope)
  