# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: mixer/v1/config/client/api_spec.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
from mixer.v1 import attributes_pb2 as mixer_dot_v1_dot_attributes__pb2
from mixer.v1.config.client import service_pb2 as mixer_dot_v1_dot_config_dot_client_dot_service__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='mixer/v1/config/client/api_spec.proto',
  package='istio.mixer.v1.config.client',
  syntax='proto3',
  serialized_pb=_b('\n%mixer/v1/config/client/api_spec.proto\x12\x1cistio.mixer.v1.config.client\x1a\x14gogoproto/gogo.proto\x1a\x19mixer/v1/attributes.proto\x1a$mixer/v1/config/client/service.proto\"\xb9\x01\n\x0bHTTPAPISpec\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x42\n\x08patterns\x18\x02 \x03(\x0b\x32\x30.istio.mixer.v1.config.client.HTTPAPISpecPattern\x12\x36\n\x08\x61pi_keys\x18\x03 \x03(\x0b\x32$.istio.mixer.v1.config.client.APIKey\"\x8d\x01\n\x12HTTPAPISpecPattern\x12.\n\nattributes\x18\x01 \x01(\x0b\x32\x1a.istio.mixer.v1.Attributes\x12\x13\n\x0bhttp_method\x18\x02 \x01(\t\x12\x16\n\x0curi_template\x18\x03 \x01(\tH\x00\x12\x0f\n\x05regex\x18\x04 \x01(\tH\x00\x42\t\n\x07pattern\"D\n\x06\x41PIKey\x12\x0f\n\x05query\x18\x01 \x01(\tH\x00\x12\x10\n\x06header\x18\x02 \x01(\tH\x00\x12\x10\n\x06\x63ookie\x18\x03 \x01(\tH\x00\x42\x05\n\x03key\"7\n\x14HTTPAPISpecReference\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\"\x99\x01\n\x12HTTPAPISpecBinding\x12<\n\x08services\x18\x01 \x03(\x0b\x32*.istio.mixer.v1.config.client.IstioService\x12\x45\n\tapi_specs\x18\x02 \x03(\x0b\x32\x32.istio.mixer.v1.config.client.HTTPAPISpecReferenceB1Z#istio.io/api/mixer/v1/config/client\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3')
  ,
  dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,mixer_dot_v1_dot_attributes__pb2.DESCRIPTOR,mixer_dot_v1_dot_config_dot_client_dot_service__pb2.DESCRIPTOR,])




_HTTPAPISPEC = _descriptor.Descriptor(
  name='HTTPAPISpec',
  full_name='istio.mixer.v1.config.client.HTTPAPISpec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='attributes', full_name='istio.mixer.v1.config.client.HTTPAPISpec.attributes', 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='patterns', full_name='istio.mixer.v1.config.client.HTTPAPISpec.patterns', 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='api_keys', full_name='istio.mixer.v1.config.client.HTTPAPISpec.api_keys', 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=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=159,
  serialized_end=344,
)


_HTTPAPISPECPATTERN = _descriptor.Descriptor(
  name='HTTPAPISpecPattern',
  full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='attributes', full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern.attributes', 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='http_method', full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern.http_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=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='uri_template', full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern.uri_template', 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='regex', full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern.regex', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='pattern', full_name='istio.mixer.v1.config.client.HTTPAPISpecPattern.pattern',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=347,
  serialized_end=488,
)


_APIKEY = _descriptor.Descriptor(
  name='APIKey',
  full_name='istio.mixer.v1.config.client.APIKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='query', full_name='istio.mixer.v1.config.client.APIKey.query', 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='header', full_name='istio.mixer.v1.config.client.APIKey.header', 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='cookie', full_name='istio.mixer.v1.config.client.APIKey.cookie', 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='key', full_name='istio.mixer.v1.config.client.APIKey.key',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=490,
  serialized_end=558,
)


_HTTPAPISPECREFERENCE = _descriptor.Descriptor(
  name='HTTPAPISpecReference',
  full_name='istio.mixer.v1.config.client.HTTPAPISpecReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='istio.mixer.v1.config.client.HTTPAPISpecReference.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.mixer.v1.config.client.HTTPAPISpecReference.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=560,
  serialized_end=615,
)


_HTTPAPISPECBINDING = _descriptor.Descriptor(
  name='HTTPAPISpecBinding',
  full_name='istio.mixer.v1.config.client.HTTPAPISpecBinding',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='services', full_name='istio.mixer.v1.config.client.HTTPAPISpecBinding.services', 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),
    _descriptor.FieldDescriptor(
      name='api_specs', full_name='istio.mixer.v1.config.client.HTTPAPISpecBinding.api_specs', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=618,
  serialized_end=771,
)

_HTTPAPISPEC.fields_by_name['attributes'].message_type = mixer_dot_v1_dot_attributes__pb2._ATTRIBUTES
_HTTPAPISPEC.fields_by_name['patterns'].message_type = _HTTPAPISPECPATTERN
_HTTPAPISPEC.fields_by_name['api_keys'].message_type = _APIKEY
_HTTPAPISPECPATTERN.fields_by_name['attributes'].message_type = mixer_dot_v1_dot_attributes__pb2._ATTRIBUTES
_HTTPAPISPECPATTERN.oneofs_by_name['pattern'].fields.append(
  _HTTPAPISPECPATTERN.fields_by_name['uri_template'])
_HTTPAPISPECPATTERN.fields_by_name['uri_template'].containing_oneof = _HTTPAPISPECPATTERN.oneofs_by_name['pattern']
_HTTPAPISPECPATTERN.oneofs_by_name['pattern'].fields.append(
  _HTTPAPISPECPATTERN.fields_by_name['regex'])
_HTTPAPISPECPATTERN.fields_by_name['regex'].containing_oneof = _HTTPAPISPECPATTERN.oneofs_by_name['pattern']
_APIKEY.oneofs_by_name['key'].fields.append(
  _APIKEY.fields_by_name['query'])
_APIKEY.fields_by_name['query'].containing_oneof = _APIKEY.oneofs_by_name['key']
_APIKEY.oneofs_by_name['key'].fields.append(
  _APIKEY.fields_by_name['header'])
_APIKEY.fields_by_name['header'].containing_oneof = _APIKEY.oneofs_by_name['key']
_APIKEY.oneofs_by_name['key'].fields.append(
  _APIKEY.fields_by_name['cookie'])
_APIKEY.fields_by_name['cookie'].containing_oneof = _APIKEY.oneofs_by_name['key']
_HTTPAPISPECBINDING.fields_by_name['services'].message_type = mixer_dot_v1_dot_config_dot_client_dot_service__pb2._ISTIOSERVICE
_HTTPAPISPECBINDING.fields_by_name['api_specs'].message_type = _HTTPAPISPECREFERENCE
DESCRIPTOR.message_types_by_name['HTTPAPISpec'] = _HTTPAPISPEC
DESCRIPTOR.message_types_by_name['HTTPAPISpecPattern'] = _HTTPAPISPECPATTERN
DESCRIPTOR.message_types_by_name['APIKey'] = _APIKEY
DESCRIPTOR.message_types_by_name['HTTPAPISpecReference'] = _HTTPAPISPECREFERENCE
DESCRIPTOR.message_types_by_name['HTTPAPISpecBinding'] = _HTTPAPISPECBINDING
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

HTTPAPISpec = _reflection.GeneratedProtocolMessageType('HTTPAPISpec', (_message.Message,), dict(
  DESCRIPTOR = _HTTPAPISPEC,
  __module__ = 'mixer.v1.config.client.api_spec_pb2'
  # @@protoc_insertion_point(class_scope:istio.mixer.v1.config.client.HTTPAPISpec)
  ))
_sym_db.RegisterMessage(HTTPAPISpec)

HTTPAPISpecPattern = _reflection.GeneratedProtocolMessageType('HTTPAPISpecPattern', (_message.Message,), dict(
  DESCRIPTOR = _HTTPAPISPECPATTERN,
  __module__ = 'mixer.v1.config.client.api_spec_pb2'
  # @@protoc_insertion_point(class_scope:istio.mixer.v1.config.client.HTTPAPISpecPattern)
  ))
_sym_db.RegisterMessage(HTTPAPISpecPattern)

APIKey = _reflection.GeneratedProtocolMessageType('APIKey', (_message.Message,), dict(
  DESCRIPTOR = _APIKEY,
  __module__ = 'mixer.v1.config.client.api_spec_pb2'
  # @@protoc_insertion_point(class_scope:istio.mixer.v1.config.client.APIKey)
  ))
_sym_db.RegisterMessage(APIKey)

HTTPAPISpecReference = _reflection.GeneratedProtocolMessageType('HTTPAPISpecReference', (_message.Message,), dict(
  DESCRIPTOR = _HTTPAPISPECREFERENCE,
  __module__ = 'mixer.v1.config.client.api_spec_pb2'
  # @@protoc_insertion_point(class_scope:istio.mixer.v1.config.client.HTTPAPISpecReference)
  ))
_sym_db.RegisterMessage(HTTPAPISpecReference)

HTTPAPISpecBinding = _reflection.GeneratedProtocolMessageType('HTTPAPISpecBinding', (_message.Message,), dict(
  DESCRIPTOR = _HTTPAPISPECBINDING,
  __module__ = 'mixer.v1.config.client.api_spec_pb2'
  # @@protoc_insertion_point(class_scope:istio.mixer.v1.config.client.HTTPAPISpecBinding)
  ))
_sym_db.RegisterMessage(HTTPAPISpecBinding)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z#istio.io/api/mixer/v1/config/client\310\341\036\000\250\342\036\000\360\341\036\000'))
# @@protoc_insertion_point(module_scope)
