# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: routing/v1alpha1/route_rule.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 duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from routing.v1alpha1 import http_fault_pb2 as routing_dot_v1alpha1_dot_http__fault__pb2
from routing.v1alpha1 import l4_fault_pb2 as routing_dot_v1alpha1_dot_l4__fault__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='routing/v1alpha1/route_rule.proto',
  package='istio.routing.v1alpha1',
  syntax='proto3',
  serialized_pb=_b('\n!routing/v1alpha1/route_rule.proto\x12\x16istio.routing.v1alpha1\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a!routing/v1alpha1/http_fault.proto\x1a\x1frouting/v1alpha1/l4_fault.proto\"\xbf\x06\n\tRouteRule\x12\x39\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32$.istio.routing.v1alpha1.IstioService\x12\x12\n\nprecedence\x18\x02 \x01(\x05\x12\x35\n\x05match\x18\x03 \x01(\x0b\x32&.istio.routing.v1alpha1.MatchCondition\x12\x38\n\x05route\x18\x04 \x03(\x0b\x32).istio.routing.v1alpha1.DestinationWeight\x12\x36\n\x08redirect\x18\x05 \x01(\x0b\x32$.istio.routing.v1alpha1.HTTPRedirect\x12\x34\n\x07rewrite\x18\x06 \x01(\x0b\x32#.istio.routing.v1alpha1.HTTPRewrite\x12\x19\n\x11websocket_upgrade\x18\x07 \x01(\x08\x12=\n\x10http_req_timeout\x18\x08 \x01(\x0b\x32#.istio.routing.v1alpha1.HTTPTimeout\x12;\n\x10http_req_retries\x18\t \x01(\x0b\x32!.istio.routing.v1alpha1.HTTPRetry\x12>\n\nhttp_fault\x18\n \x01(\x0b\x32*.istio.routing.v1alpha1.HTTPFaultInjection\x12:\n\x08l4_fault\x18\x0b \x01(\x0b\x32(.istio.routing.v1alpha1.L4FaultInjection\x12\x34\n\x06mirror\x18\x0c \x01(\x0b\x32$.istio.routing.v1alpha1.IstioService\x12\x37\n\x0b\x63ors_policy\x18\r \x01(\x0b\x32\".istio.routing.v1alpha1.CorsPolicy\x12L\n\x0e\x61ppend_headers\x18\x0e \x03(\x0b\x32\x34.istio.routing.v1alpha1.RouteRule.AppendHeadersEntry\x1a\x34\n\x12\x41ppendHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc1\x01\n\x0cIstioService\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x0e\n\x06\x64omain\x18\x03 \x01(\t\x12\x0f\n\x07service\x18\x04 \x01(\t\x12@\n\x06labels\x18\x05 \x03(\x0b\x32\x30.istio.routing.v1alpha1.IstioService.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xed\x01\n\x0eMatchCondition\x12\x34\n\x06source\x18\x01 \x01(\x0b\x32$.istio.routing.v1alpha1.IstioService\x12\x36\n\x03tcp\x18\x02 \x01(\x0b\x32).istio.routing.v1alpha1.L4MatchAttributes\x12\x36\n\x03udp\x18\x03 \x01(\x0b\x32).istio.routing.v1alpha1.L4MatchAttributes\x12\x35\n\x07request\x18\x04 \x01(\x0b\x32$.istio.routing.v1alpha1.MatchRequest\"\xa7\x01\n\x0cMatchRequest\x12\x42\n\x07headers\x18\x01 \x03(\x0b\x32\x31.istio.routing.v1alpha1.MatchRequest.HeadersEntry\x1aS\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.istio.routing.v1alpha1.StringMatch:\x02\x38\x01\"\xd4\x01\n\x11\x44\x65stinationWeight\x12\x39\n\x0b\x64\x65stination\x18\x01 \x01(\x0b\x32$.istio.routing.v1alpha1.IstioService\x12\x45\n\x06labels\x18\x02 \x03(\x0b\x32\x35.istio.routing.v1alpha1.DestinationWeight.LabelsEntry\x12\x0e\n\x06weight\x18\x03 \x01(\x05\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"F\n\x11L4MatchAttributes\x12\x15\n\rsource_subnet\x18\x01 \x03(\t\x12\x1a\n\x12\x64\x65stination_subnet\x18\x02 \x03(\t\".\n\x0cHTTPRedirect\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"-\n\x0bHTTPRewrite\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x11\n\tauthority\x18\x02 \x01(\t\"O\n\x0bStringMatch\x12\x0f\n\x05\x65xact\x18\x01 \x01(\tH\x00\x12\x10\n\x06prefix\x18\x02 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x03 \x01(\tH\x00\x42\x0c\n\nmatch_type\"\xfb\x01\n\x0bHTTPTimeout\x12Q\n\x0esimple_timeout\x18\x01 \x01(\x0b\x32\x37.istio.routing.v1alpha1.HTTPTimeout.SimpleTimeoutPolicyH\x00\x12&\n\x06\x63ustom\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x1a_\n\x13SimpleTimeoutPolicy\x12*\n\x07timeout\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14override_header_name\x18\x02 \x01(\tB\x10\n\x0etimeout_policy\"\x89\x02\n\tHTTPRetry\x12K\n\x0csimple_retry\x18\x01 \x01(\x0b\x32\x33.istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicyH\x00\x12&\n\x06\x63ustom\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x1aw\n\x11SimpleRetryPolicy\x12\x10\n\x08\x61ttempts\x18\x01 \x01(\x05\x12\x32\n\x0fper_try_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1c\n\x14override_header_name\x18\x03 \x01(\tB\x0e\n\x0cretry_policy\"\xcb\x01\n\nCorsPolicy\x12\x14\n\x0c\x61llow_origin\x18\x01 \x03(\t\x12\x15\n\rallow_methods\x18\x02 \x03(\t\x12\x15\n\rallow_headers\x18\x03 \x03(\t\x12\x16\n\x0e\x65xpose_headers\x18\x04 \x03(\t\x12*\n\x07max_age\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x11\x61llow_credentials\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x1fZ\x1distio.io/api/routing/v1alpha1b\x06proto3')
  ,
  dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,routing_dot_v1alpha1_dot_http__fault__pb2.DESCRIPTOR,routing_dot_v1alpha1_dot_l4__fault__pb2.DESCRIPTOR,])




_ROUTERULE_APPENDHEADERSENTRY = _descriptor.Descriptor(
  name='AppendHeadersEntry',
  full_name='istio.routing.v1alpha1.RouteRule.AppendHeadersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='istio.routing.v1alpha1.RouteRule.AppendHeadersEntry.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='istio.routing.v1alpha1.RouteRule.AppendHeadersEntry.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1000,
  serialized_end=1052,
)

_ROUTERULE = _descriptor.Descriptor(
  name='RouteRule',
  full_name='istio.routing.v1alpha1.RouteRule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='istio.routing.v1alpha1.RouteRule.destination', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='precedence', full_name='istio.routing.v1alpha1.RouteRule.precedence', index=1,
      number=2, type=5, cpp_type=1, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='match', full_name='istio.routing.v1alpha1.RouteRule.match', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='route', full_name='istio.routing.v1alpha1.RouteRule.route', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='redirect', full_name='istio.routing.v1alpha1.RouteRule.redirect', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='rewrite', full_name='istio.routing.v1alpha1.RouteRule.rewrite', index=5,
      number=6, 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),
    _descriptor.FieldDescriptor(
      name='websocket_upgrade', full_name='istio.routing.v1alpha1.RouteRule.websocket_upgrade', index=6,
      number=7, 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='http_req_timeout', full_name='istio.routing.v1alpha1.RouteRule.http_req_timeout', index=7,
      number=8, 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),
    _descriptor.FieldDescriptor(
      name='http_req_retries', full_name='istio.routing.v1alpha1.RouteRule.http_req_retries', index=8,
      number=9, 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),
    _descriptor.FieldDescriptor(
      name='http_fault', full_name='istio.routing.v1alpha1.RouteRule.http_fault', index=9,
      number=10, 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),
    _descriptor.FieldDescriptor(
      name='l4_fault', full_name='istio.routing.v1alpha1.RouteRule.l4_fault', index=10,
      number=11, 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),
    _descriptor.FieldDescriptor(
      name='mirror', full_name='istio.routing.v1alpha1.RouteRule.mirror', index=11,
      number=12, 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),
    _descriptor.FieldDescriptor(
      name='cors_policy', full_name='istio.routing.v1alpha1.RouteRule.cors_policy', index=12,
      number=13, 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),
    _descriptor.FieldDescriptor(
      name='append_headers', full_name='istio.routing.v1alpha1.RouteRule.append_headers', index=13,
      number=14, 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=[_ROUTERULE_APPENDHEADERSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=221,
  serialized_end=1052,
)


_ISTIOSERVICE_LABELSENTRY = _descriptor.Descriptor(
  name='LabelsEntry',
  full_name='istio.routing.v1alpha1.IstioService.LabelsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='istio.routing.v1alpha1.IstioService.LabelsEntry.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='istio.routing.v1alpha1.IstioService.LabelsEntry.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1203,
  serialized_end=1248,
)

_ISTIOSERVICE = _descriptor.Descriptor(
  name='IstioService',
  full_name='istio.routing.v1alpha1.IstioService',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='istio.routing.v1alpha1.IstioService.name', 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='namespace', full_name='istio.routing.v1alpha1.IstioService.namespace', 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='domain', full_name='istio.routing.v1alpha1.IstioService.domain', 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='service', full_name='istio.routing.v1alpha1.IstioService.service', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='labels', full_name='istio.routing.v1alpha1.IstioService.labels', 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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_ISTIOSERVICE_LABELSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1055,
  serialized_end=1248,
)


_MATCHCONDITION = _descriptor.Descriptor(
  name='MatchCondition',
  full_name='istio.routing.v1alpha1.MatchCondition',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source', full_name='istio.routing.v1alpha1.MatchCondition.source', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tcp', full_name='istio.routing.v1alpha1.MatchCondition.tcp', 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),
    _descriptor.FieldDescriptor(
      name='udp', full_name='istio.routing.v1alpha1.MatchCondition.udp', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='request', full_name='istio.routing.v1alpha1.MatchCondition.request', 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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1251,
  serialized_end=1488,
)


_MATCHREQUEST_HEADERSENTRY = _descriptor.Descriptor(
  name='HeadersEntry',
  full_name='istio.routing.v1alpha1.MatchRequest.HeadersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='istio.routing.v1alpha1.MatchRequest.HeadersEntry.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='istio.routing.v1alpha1.MatchRequest.HeadersEntry.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=1575,
  serialized_end=1658,
)

_MATCHREQUEST = _descriptor.Descriptor(
  name='MatchRequest',
  full_name='istio.routing.v1alpha1.MatchRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='headers', full_name='istio.routing.v1alpha1.MatchRequest.headers', 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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_MATCHREQUEST_HEADERSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1491,
  serialized_end=1658,
)


_DESTINATIONWEIGHT_LABELSENTRY = _descriptor.Descriptor(
  name='LabelsEntry',
  full_name='istio.routing.v1alpha1.DestinationWeight.LabelsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='istio.routing.v1alpha1.DestinationWeight.LabelsEntry.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='istio.routing.v1alpha1.DestinationWeight.LabelsEntry.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1203,
  serialized_end=1248,
)

_DESTINATIONWEIGHT = _descriptor.Descriptor(
  name='DestinationWeight',
  full_name='istio.routing.v1alpha1.DestinationWeight',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='istio.routing.v1alpha1.DestinationWeight.destination', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='labels', full_name='istio.routing.v1alpha1.DestinationWeight.labels', 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='weight', full_name='istio.routing.v1alpha1.DestinationWeight.weight', index=2,
      number=3, type=5, cpp_type=1, 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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_DESTINATIONWEIGHT_LABELSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1661,
  serialized_end=1873,
)


_L4MATCHATTRIBUTES = _descriptor.Descriptor(
  name='L4MatchAttributes',
  full_name='istio.routing.v1alpha1.L4MatchAttributes',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='source_subnet', full_name='istio.routing.v1alpha1.L4MatchAttributes.source_subnet', index=0,
      number=1, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='destination_subnet', full_name='istio.routing.v1alpha1.L4MatchAttributes.destination_subnet', 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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1875,
  serialized_end=1945,
)


_HTTPREDIRECT = _descriptor.Descriptor(
  name='HTTPRedirect',
  full_name='istio.routing.v1alpha1.HTTPRedirect',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='uri', full_name='istio.routing.v1alpha1.HTTPRedirect.uri', 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='authority', full_name='istio.routing.v1alpha1.HTTPRedirect.authority', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1947,
  serialized_end=1993,
)


_HTTPREWRITE = _descriptor.Descriptor(
  name='HTTPRewrite',
  full_name='istio.routing.v1alpha1.HTTPRewrite',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='uri', full_name='istio.routing.v1alpha1.HTTPRewrite.uri', 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='authority', full_name='istio.routing.v1alpha1.HTTPRewrite.authority', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1995,
  serialized_end=2040,
)


_STRINGMATCH = _descriptor.Descriptor(
  name='StringMatch',
  full_name='istio.routing.v1alpha1.StringMatch',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='exact', full_name='istio.routing.v1alpha1.StringMatch.exact', 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='prefix', full_name='istio.routing.v1alpha1.StringMatch.prefix', 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='regex', full_name='istio.routing.v1alpha1.StringMatch.regex', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='match_type', full_name='istio.routing.v1alpha1.StringMatch.match_type',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2042,
  serialized_end=2121,
)


_HTTPTIMEOUT_SIMPLETIMEOUTPOLICY = _descriptor.Descriptor(
  name='SimpleTimeoutPolicy',
  full_name='istio.routing.v1alpha1.HTTPTimeout.SimpleTimeoutPolicy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='timeout', full_name='istio.routing.v1alpha1.HTTPTimeout.SimpleTimeoutPolicy.timeout', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='override_header_name', full_name='istio.routing.v1alpha1.HTTPTimeout.SimpleTimeoutPolicy.override_header_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, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2262,
  serialized_end=2357,
)

_HTTPTIMEOUT = _descriptor.Descriptor(
  name='HTTPTimeout',
  full_name='istio.routing.v1alpha1.HTTPTimeout',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='simple_timeout', full_name='istio.routing.v1alpha1.HTTPTimeout.simple_timeout', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='custom', full_name='istio.routing.v1alpha1.HTTPTimeout.custom', 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=[_HTTPTIMEOUT_SIMPLETIMEOUTPOLICY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='timeout_policy', full_name='istio.routing.v1alpha1.HTTPTimeout.timeout_policy',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2124,
  serialized_end=2375,
)


_HTTPRETRY_SIMPLERETRYPOLICY = _descriptor.Descriptor(
  name='SimpleRetryPolicy',
  full_name='istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='attempts', full_name='istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicy.attempts', index=0,
      number=1, type=5, cpp_type=1, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='per_try_timeout', full_name='istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicy.per_try_timeout', 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),
    _descriptor.FieldDescriptor(
      name='override_header_name', full_name='istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicy.override_header_name', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2508,
  serialized_end=2627,
)

_HTTPRETRY = _descriptor.Descriptor(
  name='HTTPRetry',
  full_name='istio.routing.v1alpha1.HTTPRetry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='simple_retry', full_name='istio.routing.v1alpha1.HTTPRetry.simple_retry', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='custom', full_name='istio.routing.v1alpha1.HTTPRetry.custom', 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=[_HTTPRETRY_SIMPLERETRYPOLICY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='retry_policy', full_name='istio.routing.v1alpha1.HTTPRetry.retry_policy',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2378,
  serialized_end=2643,
)


_CORSPOLICY = _descriptor.Descriptor(
  name='CorsPolicy',
  full_name='istio.routing.v1alpha1.CorsPolicy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='allow_origin', full_name='istio.routing.v1alpha1.CorsPolicy.allow_origin', index=0,
      number=1, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='allow_methods', full_name='istio.routing.v1alpha1.CorsPolicy.allow_methods', 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='allow_headers', full_name='istio.routing.v1alpha1.CorsPolicy.allow_headers', index=2,
      number=3, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='expose_headers', full_name='istio.routing.v1alpha1.CorsPolicy.expose_headers', index=3,
      number=4, 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, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_age', full_name='istio.routing.v1alpha1.CorsPolicy.max_age', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='allow_credentials', full_name='istio.routing.v1alpha1.CorsPolicy.allow_credentials', index=5,
      number=6, 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=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2646,
  serialized_end=2849,
)

_ROUTERULE_APPENDHEADERSENTRY.containing_type = _ROUTERULE
_ROUTERULE.fields_by_name['destination'].message_type = _ISTIOSERVICE
_ROUTERULE.fields_by_name['match'].message_type = _MATCHCONDITION
_ROUTERULE.fields_by_name['route'].message_type = _DESTINATIONWEIGHT
_ROUTERULE.fields_by_name['redirect'].message_type = _HTTPREDIRECT
_ROUTERULE.fields_by_name['rewrite'].message_type = _HTTPREWRITE
_ROUTERULE.fields_by_name['http_req_timeout'].message_type = _HTTPTIMEOUT
_ROUTERULE.fields_by_name['http_req_retries'].message_type = _HTTPRETRY
_ROUTERULE.fields_by_name['http_fault'].message_type = routing_dot_v1alpha1_dot_http__fault__pb2._HTTPFAULTINJECTION
_ROUTERULE.fields_by_name['l4_fault'].message_type = routing_dot_v1alpha1_dot_l4__fault__pb2._L4FAULTINJECTION
_ROUTERULE.fields_by_name['mirror'].message_type = _ISTIOSERVICE
_ROUTERULE.fields_by_name['cors_policy'].message_type = _CORSPOLICY
_ROUTERULE.fields_by_name['append_headers'].message_type = _ROUTERULE_APPENDHEADERSENTRY
_ISTIOSERVICE_LABELSENTRY.containing_type = _ISTIOSERVICE
_ISTIOSERVICE.fields_by_name['labels'].message_type = _ISTIOSERVICE_LABELSENTRY
_MATCHCONDITION.fields_by_name['source'].message_type = _ISTIOSERVICE
_MATCHCONDITION.fields_by_name['tcp'].message_type = _L4MATCHATTRIBUTES
_MATCHCONDITION.fields_by_name['udp'].message_type = _L4MATCHATTRIBUTES
_MATCHCONDITION.fields_by_name['request'].message_type = _MATCHREQUEST
_MATCHREQUEST_HEADERSENTRY.fields_by_name['value'].message_type = _STRINGMATCH
_MATCHREQUEST_HEADERSENTRY.containing_type = _MATCHREQUEST
_MATCHREQUEST.fields_by_name['headers'].message_type = _MATCHREQUEST_HEADERSENTRY
_DESTINATIONWEIGHT_LABELSENTRY.containing_type = _DESTINATIONWEIGHT
_DESTINATIONWEIGHT.fields_by_name['destination'].message_type = _ISTIOSERVICE
_DESTINATIONWEIGHT.fields_by_name['labels'].message_type = _DESTINATIONWEIGHT_LABELSENTRY
_STRINGMATCH.oneofs_by_name['match_type'].fields.append(
  _STRINGMATCH.fields_by_name['exact'])
_STRINGMATCH.fields_by_name['exact'].containing_oneof = _STRINGMATCH.oneofs_by_name['match_type']
_STRINGMATCH.oneofs_by_name['match_type'].fields.append(
  _STRINGMATCH.fields_by_name['prefix'])
_STRINGMATCH.fields_by_name['prefix'].containing_oneof = _STRINGMATCH.oneofs_by_name['match_type']
_STRINGMATCH.oneofs_by_name['match_type'].fields.append(
  _STRINGMATCH.fields_by_name['regex'])
_STRINGMATCH.fields_by_name['regex'].containing_oneof = _STRINGMATCH.oneofs_by_name['match_type']
_HTTPTIMEOUT_SIMPLETIMEOUTPOLICY.fields_by_name['timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_HTTPTIMEOUT_SIMPLETIMEOUTPOLICY.containing_type = _HTTPTIMEOUT
_HTTPTIMEOUT.fields_by_name['simple_timeout'].message_type = _HTTPTIMEOUT_SIMPLETIMEOUTPOLICY
_HTTPTIMEOUT.fields_by_name['custom'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_HTTPTIMEOUT.oneofs_by_name['timeout_policy'].fields.append(
  _HTTPTIMEOUT.fields_by_name['simple_timeout'])
_HTTPTIMEOUT.fields_by_name['simple_timeout'].containing_oneof = _HTTPTIMEOUT.oneofs_by_name['timeout_policy']
_HTTPTIMEOUT.oneofs_by_name['timeout_policy'].fields.append(
  _HTTPTIMEOUT.fields_by_name['custom'])
_HTTPTIMEOUT.fields_by_name['custom'].containing_oneof = _HTTPTIMEOUT.oneofs_by_name['timeout_policy']
_HTTPRETRY_SIMPLERETRYPOLICY.fields_by_name['per_try_timeout'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_HTTPRETRY_SIMPLERETRYPOLICY.containing_type = _HTTPRETRY
_HTTPRETRY.fields_by_name['simple_retry'].message_type = _HTTPRETRY_SIMPLERETRYPOLICY
_HTTPRETRY.fields_by_name['custom'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_HTTPRETRY.oneofs_by_name['retry_policy'].fields.append(
  _HTTPRETRY.fields_by_name['simple_retry'])
_HTTPRETRY.fields_by_name['simple_retry'].containing_oneof = _HTTPRETRY.oneofs_by_name['retry_policy']
_HTTPRETRY.oneofs_by_name['retry_policy'].fields.append(
  _HTTPRETRY.fields_by_name['custom'])
_HTTPRETRY.fields_by_name['custom'].containing_oneof = _HTTPRETRY.oneofs_by_name['retry_policy']
_CORSPOLICY.fields_by_name['max_age'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_CORSPOLICY.fields_by_name['allow_credentials'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE
DESCRIPTOR.message_types_by_name['RouteRule'] = _ROUTERULE
DESCRIPTOR.message_types_by_name['IstioService'] = _ISTIOSERVICE
DESCRIPTOR.message_types_by_name['MatchCondition'] = _MATCHCONDITION
DESCRIPTOR.message_types_by_name['MatchRequest'] = _MATCHREQUEST
DESCRIPTOR.message_types_by_name['DestinationWeight'] = _DESTINATIONWEIGHT
DESCRIPTOR.message_types_by_name['L4MatchAttributes'] = _L4MATCHATTRIBUTES
DESCRIPTOR.message_types_by_name['HTTPRedirect'] = _HTTPREDIRECT
DESCRIPTOR.message_types_by_name['HTTPRewrite'] = _HTTPREWRITE
DESCRIPTOR.message_types_by_name['StringMatch'] = _STRINGMATCH
DESCRIPTOR.message_types_by_name['HTTPTimeout'] = _HTTPTIMEOUT
DESCRIPTOR.message_types_by_name['HTTPRetry'] = _HTTPRETRY
DESCRIPTOR.message_types_by_name['CorsPolicy'] = _CORSPOLICY
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

RouteRule = _reflection.GeneratedProtocolMessageType('RouteRule', (_message.Message,), dict(

  AppendHeadersEntry = _reflection.GeneratedProtocolMessageType('AppendHeadersEntry', (_message.Message,), dict(
    DESCRIPTOR = _ROUTERULE_APPENDHEADERSENTRY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.RouteRule.AppendHeadersEntry)
    ))
  ,
  DESCRIPTOR = _ROUTERULE,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.RouteRule)
  ))
_sym_db.RegisterMessage(RouteRule)
_sym_db.RegisterMessage(RouteRule.AppendHeadersEntry)

IstioService = _reflection.GeneratedProtocolMessageType('IstioService', (_message.Message,), dict(

  LabelsEntry = _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), dict(
    DESCRIPTOR = _ISTIOSERVICE_LABELSENTRY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.IstioService.LabelsEntry)
    ))
  ,
  DESCRIPTOR = _ISTIOSERVICE,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.IstioService)
  ))
_sym_db.RegisterMessage(IstioService)
_sym_db.RegisterMessage(IstioService.LabelsEntry)

MatchCondition = _reflection.GeneratedProtocolMessageType('MatchCondition', (_message.Message,), dict(
  DESCRIPTOR = _MATCHCONDITION,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.MatchCondition)
  ))
_sym_db.RegisterMessage(MatchCondition)

MatchRequest = _reflection.GeneratedProtocolMessageType('MatchRequest', (_message.Message,), dict(

  HeadersEntry = _reflection.GeneratedProtocolMessageType('HeadersEntry', (_message.Message,), dict(
    DESCRIPTOR = _MATCHREQUEST_HEADERSENTRY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.MatchRequest.HeadersEntry)
    ))
  ,
  DESCRIPTOR = _MATCHREQUEST,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.MatchRequest)
  ))
_sym_db.RegisterMessage(MatchRequest)
_sym_db.RegisterMessage(MatchRequest.HeadersEntry)

DestinationWeight = _reflection.GeneratedProtocolMessageType('DestinationWeight', (_message.Message,), dict(

  LabelsEntry = _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), dict(
    DESCRIPTOR = _DESTINATIONWEIGHT_LABELSENTRY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.DestinationWeight.LabelsEntry)
    ))
  ,
  DESCRIPTOR = _DESTINATIONWEIGHT,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.DestinationWeight)
  ))
_sym_db.RegisterMessage(DestinationWeight)
_sym_db.RegisterMessage(DestinationWeight.LabelsEntry)

L4MatchAttributes = _reflection.GeneratedProtocolMessageType('L4MatchAttributes', (_message.Message,), dict(
  DESCRIPTOR = _L4MATCHATTRIBUTES,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.L4MatchAttributes)
  ))
_sym_db.RegisterMessage(L4MatchAttributes)

HTTPRedirect = _reflection.GeneratedProtocolMessageType('HTTPRedirect', (_message.Message,), dict(
  DESCRIPTOR = _HTTPREDIRECT,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPRedirect)
  ))
_sym_db.RegisterMessage(HTTPRedirect)

HTTPRewrite = _reflection.GeneratedProtocolMessageType('HTTPRewrite', (_message.Message,), dict(
  DESCRIPTOR = _HTTPREWRITE,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPRewrite)
  ))
_sym_db.RegisterMessage(HTTPRewrite)

StringMatch = _reflection.GeneratedProtocolMessageType('StringMatch', (_message.Message,), dict(
  DESCRIPTOR = _STRINGMATCH,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.StringMatch)
  ))
_sym_db.RegisterMessage(StringMatch)

HTTPTimeout = _reflection.GeneratedProtocolMessageType('HTTPTimeout', (_message.Message,), dict(

  SimpleTimeoutPolicy = _reflection.GeneratedProtocolMessageType('SimpleTimeoutPolicy', (_message.Message,), dict(
    DESCRIPTOR = _HTTPTIMEOUT_SIMPLETIMEOUTPOLICY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPTimeout.SimpleTimeoutPolicy)
    ))
  ,
  DESCRIPTOR = _HTTPTIMEOUT,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPTimeout)
  ))
_sym_db.RegisterMessage(HTTPTimeout)
_sym_db.RegisterMessage(HTTPTimeout.SimpleTimeoutPolicy)

HTTPRetry = _reflection.GeneratedProtocolMessageType('HTTPRetry', (_message.Message,), dict(

  SimpleRetryPolicy = _reflection.GeneratedProtocolMessageType('SimpleRetryPolicy', (_message.Message,), dict(
    DESCRIPTOR = _HTTPRETRY_SIMPLERETRYPOLICY,
    __module__ = 'routing.v1alpha1.route_rule_pb2'
    # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPRetry.SimpleRetryPolicy)
    ))
  ,
  DESCRIPTOR = _HTTPRETRY,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.HTTPRetry)
  ))
_sym_db.RegisterMessage(HTTPRetry)
_sym_db.RegisterMessage(HTTPRetry.SimpleRetryPolicy)

CorsPolicy = _reflection.GeneratedProtocolMessageType('CorsPolicy', (_message.Message,), dict(
  DESCRIPTOR = _CORSPOLICY,
  __module__ = 'routing.v1alpha1.route_rule_pb2'
  # @@protoc_insertion_point(class_scope:istio.routing.v1alpha1.CorsPolicy)
  ))
_sym_db.RegisterMessage(CorsPolicy)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\035istio.io/api/routing/v1alpha1'))
_ROUTERULE_APPENDHEADERSENTRY.has_options = True
_ROUTERULE_APPENDHEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_ISTIOSERVICE_LABELSENTRY.has_options = True
_ISTIOSERVICE_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_MATCHREQUEST_HEADERSENTRY.has_options = True
_MATCHREQUEST_HEADERSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_DESTINATIONWEIGHT_LABELSENTRY.has_options = True
_DESTINATIONWEIGHT_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
# @@protoc_insertion_point(module_scope)
