# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: xds/core/v3/resource_locator.proto
"""Generated protocol buffer code."""
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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from udpa.annotations import status_pb2 as udpa_dot_annotations_dot_status__pb2
from xds.core.v3 import context_params_pb2 as xds_dot_core_dot_v3_dot_context__params__pb2
from validate import validate_pb2 as validate_dot_validate__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='xds/core/v3/resource_locator.proto',
  package='xds.core.v3',
  syntax='proto3',
  serialized_options=b'\n\033com.github.udpa.xds.core.v3B\024ResourceLocatorProtoP\001\272\200\310\321\006\002\010\001',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n\"xds/core/v3/resource_locator.proto\x12\x0bxds.core.v3\x1a\x1dudpa/annotations/status.proto\x1a xds/core/v3/context_params.proto\x1a\x17validate/validate.proto\"\xc2\x03\n\x0fResourceLocator\x12=\n\x06scheme\x18\x01 \x01(\x0e\x32#.xds.core.v3.ResourceLocator.SchemeB\x08\xfa\x42\x05\x82\x01\x02\x10\x01\x12\n\n\x02id\x18\x02 \x01(\t\x12\x11\n\tauthority\x18\x03 \x01(\t\x12\x1e\n\rresource_type\x18\x04 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12\x33\n\rexact_context\x18\x05 \x01(\x0b\x32\x1a.xds.core.v3.ContextParamsH\x00\x12:\n\ndirectives\x18\x06 \x03(\x0b\x32&.xds.core.v3.ResourceLocator.Directive\x1a|\n\tDirective\x12+\n\x03\x61lt\x18\x01 \x01(\x0b\x32\x1c.xds.core.v3.ResourceLocatorH\x00\x12\x30\n\x05\x65ntry\x18\x02 \x01(\tB\x1f\xfa\x42\x1cr\x1a\x10\x01\x32\x16^[0-9a-zA-Z_\\-\\./~:]+$H\x00\x42\x10\n\tdirective\x12\x03\xf8\x42\x01\"\'\n\x06Scheme\x12\t\n\x05XDSTP\x10\x00\x12\x08\n\x04HTTP\x10\x01\x12\x08\n\x04\x46ILE\x10\x02\x42\x19\n\x17\x63ontext_param_specifierB=\n\x1b\x63om.github.udpa.xds.core.v3B\x14ResourceLocatorProtoP\x01\xba\x80\xc8\xd1\x06\x02\x08\x01\x62\x06proto3'
  ,
  dependencies=[udpa_dot_annotations_dot_status__pb2.DESCRIPTOR,xds_dot_core_dot_v3_dot_context__params__pb2.DESCRIPTOR,validate_dot_validate__pb2.DESCRIPTOR,])



_RESOURCELOCATOR_SCHEME = _descriptor.EnumDescriptor(
  name='Scheme',
  full_name='xds.core.v3.ResourceLocator.Scheme',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='XDSTP', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HTTP', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FILE', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=526,
  serialized_end=565,
)
_sym_db.RegisterEnumDescriptor(_RESOURCELOCATOR_SCHEME)


_RESOURCELOCATOR_DIRECTIVE = _descriptor.Descriptor(
  name='Directive',
  full_name='xds.core.v3.ResourceLocator.Directive',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='alt', full_name='xds.core.v3.ResourceLocator.Directive.alt', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='entry', full_name='xds.core.v3.ResourceLocator.Directive.entry', 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,
      serialized_options=b'\372B\034r\032\020\0012\026^[0-9a-zA-Z_\\-\\./~:]+$', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='directive', full_name='xds.core.v3.ResourceLocator.Directive.directive',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[], serialized_options=b'\370B\001'),
  ],
  serialized_start=400,
  serialized_end=524,
)

_RESOURCELOCATOR = _descriptor.Descriptor(
  name='ResourceLocator',
  full_name='xds.core.v3.ResourceLocator',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='scheme', full_name='xds.core.v3.ResourceLocator.scheme', 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,
      serialized_options=b'\372B\005\202\001\002\020\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='id', full_name='xds.core.v3.ResourceLocator.id', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='authority', full_name='xds.core.v3.ResourceLocator.authority', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='resource_type', full_name='xds.core.v3.ResourceLocator.resource_type', 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,
      serialized_options=b'\372B\004r\002\020\001', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='exact_context', full_name='xds.core.v3.ResourceLocator.exact_context', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='directives', full_name='xds.core.v3.ResourceLocator.directives', index=5,
      number=6, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_RESOURCELOCATOR_DIRECTIVE, ],
  enum_types=[
    _RESOURCELOCATOR_SCHEME,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='context_param_specifier', full_name='xds.core.v3.ResourceLocator.context_param_specifier',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=142,
  serialized_end=592,
)

_RESOURCELOCATOR_DIRECTIVE.fields_by_name['alt'].message_type = _RESOURCELOCATOR
_RESOURCELOCATOR_DIRECTIVE.containing_type = _RESOURCELOCATOR
_RESOURCELOCATOR_DIRECTIVE.oneofs_by_name['directive'].fields.append(
  _RESOURCELOCATOR_DIRECTIVE.fields_by_name['alt'])
_RESOURCELOCATOR_DIRECTIVE.fields_by_name['alt'].containing_oneof = _RESOURCELOCATOR_DIRECTIVE.oneofs_by_name['directive']
_RESOURCELOCATOR_DIRECTIVE.oneofs_by_name['directive'].fields.append(
  _RESOURCELOCATOR_DIRECTIVE.fields_by_name['entry'])
_RESOURCELOCATOR_DIRECTIVE.fields_by_name['entry'].containing_oneof = _RESOURCELOCATOR_DIRECTIVE.oneofs_by_name['directive']
_RESOURCELOCATOR.fields_by_name['scheme'].enum_type = _RESOURCELOCATOR_SCHEME
_RESOURCELOCATOR.fields_by_name['exact_context'].message_type = xds_dot_core_dot_v3_dot_context__params__pb2._CONTEXTPARAMS
_RESOURCELOCATOR.fields_by_name['directives'].message_type = _RESOURCELOCATOR_DIRECTIVE
_RESOURCELOCATOR_SCHEME.containing_type = _RESOURCELOCATOR
_RESOURCELOCATOR.oneofs_by_name['context_param_specifier'].fields.append(
  _RESOURCELOCATOR.fields_by_name['exact_context'])
_RESOURCELOCATOR.fields_by_name['exact_context'].containing_oneof = _RESOURCELOCATOR.oneofs_by_name['context_param_specifier']
DESCRIPTOR.message_types_by_name['ResourceLocator'] = _RESOURCELOCATOR
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ResourceLocator = _reflection.GeneratedProtocolMessageType('ResourceLocator', (_message.Message,), {

  'Directive' : _reflection.GeneratedProtocolMessageType('Directive', (_message.Message,), {
    'DESCRIPTOR' : _RESOURCELOCATOR_DIRECTIVE,
    '__module__' : 'xds.core.v3.resource_locator_pb2'
    # @@protoc_insertion_point(class_scope:xds.core.v3.ResourceLocator.Directive)
    })
  ,
  'DESCRIPTOR' : _RESOURCELOCATOR,
  '__module__' : 'xds.core.v3.resource_locator_pb2'
  # @@protoc_insertion_point(class_scope:xds.core.v3.ResourceLocator)
  })
_sym_db.RegisterMessage(ResourceLocator)
_sym_db.RegisterMessage(ResourceLocator.Directive)


DESCRIPTOR._options = None
_RESOURCELOCATOR_DIRECTIVE.oneofs_by_name['directive']._options = None
_RESOURCELOCATOR_DIRECTIVE.fields_by_name['entry']._options = None
_RESOURCELOCATOR.fields_by_name['scheme']._options = None
_RESOURCELOCATOR.fields_by_name['resource_type']._options = None
# @@protoc_insertion_point(module_scope)
