# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/rpc_context/proto/attribute_context.proto

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 google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/rpc_context/proto/attribute_context.proto',
  package='google.rpc.context',
  syntax='proto3',
  serialized_options=b'\n\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\370\001\001',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n6google/cloud/rpc_context/proto/attribute_context.proto\x12\x12google.rpc.context\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc6\x0c\n\x10\x41ttributeContext\x12\x39\n\x06origin\x18\x07 \x01(\x0b\x32).google.rpc.context.AttributeContext.Peer\x12\x39\n\x06source\x18\x01 \x01(\x0b\x32).google.rpc.context.AttributeContext.Peer\x12>\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32).google.rpc.context.AttributeContext.Peer\x12=\n\x07request\x18\x03 \x01(\x0b\x32,.google.rpc.context.AttributeContext.Request\x12?\n\x08response\x18\x04 \x01(\x0b\x32-.google.rpc.context.AttributeContext.Response\x12?\n\x08resource\x18\x05 \x01(\x0b\x32-.google.rpc.context.AttributeContext.Resource\x12\x35\n\x03\x61pi\x18\x06 \x01(\x0b\x32(.google.rpc.context.AttributeContext.Api\x1a\xbe\x01\n\x04Peer\x12\n\n\x02ip\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x03\x12\x45\n\x06labels\x18\x06 \x03(\x0b\x32\x35.google.rpc.context.AttributeContext.Peer.LabelsEntry\x12\x11\n\tprincipal\x18\x07 \x01(\t\x12\x13\n\x0bregion_code\x18\x08 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aL\n\x03\x41pi\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\t\x12\x0f\n\x07version\x18\x04 \x01(\t\x1a\x7f\n\x04\x41uth\x12\x11\n\tprincipal\x18\x01 \x01(\t\x12\x11\n\taudiences\x18\x02 \x03(\t\x12\x11\n\tpresenter\x18\x03 \x01(\t\x12\'\n\x06\x63laims\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\raccess_levels\x18\x05 \x03(\t\x1a\xef\x02\n\x07Request\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12J\n\x07headers\x18\x03 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Request.HeadersEntry\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x0c\n\x04host\x18\x05 \x01(\t\x12\x0e\n\x06scheme\x18\x06 \x01(\t\x12\r\n\x05query\x18\x07 \x01(\t\x12(\n\x04time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04size\x18\n \x01(\x03\x12\x10\n\x08protocol\x18\x0b \x01(\t\x12\x0e\n\x06reason\x18\x0c \x01(\t\x12\x37\n\x04\x61uth\x18\r \x01(\x0b\x32).google.rpc.context.AttributeContext.Auth\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xcd\x01\n\x08Response\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x03\x12\x0c\n\x04size\x18\x02 \x01(\x03\x12K\n\x07headers\x18\x03 \x03(\x0b\x32:.google.rpc.context.AttributeContext.Response.HeadersEntry\x12(\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xb1\x01\n\x08Resource\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12I\n\x06labels\x18\x04 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Resource.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x8b\x01\n\x16\x63om.google.rpc.contextB\x15\x41ttributeContextProtoP\x01ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\xf8\x01\x01\x62\x06proto3'
  ,
  dependencies=[google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])




_ATTRIBUTECONTEXT_PEER_LABELSENTRY = _descriptor.Descriptor(
  name='LabelsEntry',
  full_name='google.rpc.context.AttributeContext.Peer.LabelsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.rpc.context.AttributeContext.Peer.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.rpc.context.AttributeContext.Peer.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=738,
  serialized_end=783,
)

_ATTRIBUTECONTEXT_PEER = _descriptor.Descriptor(
  name='Peer',
  full_name='google.rpc.context.AttributeContext.Peer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ip', full_name='google.rpc.context.AttributeContext.Peer.ip', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='port', full_name='google.rpc.context.AttributeContext.Peer.port', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='labels', full_name='google.rpc.context.AttributeContext.Peer.labels', index=2,
      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),
    _descriptor.FieldDescriptor(
      name='principal', full_name='google.rpc.context.AttributeContext.Peer.principal', index=3,
      number=7, 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='region_code', full_name='google.rpc.context.AttributeContext.Peer.region_code', index=4,
      number=8, 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),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTECONTEXT_PEER_LABELSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=593,
  serialized_end=783,
)

_ATTRIBUTECONTEXT_API = _descriptor.Descriptor(
  name='Api',
  full_name='google.rpc.context.AttributeContext.Api',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='service', full_name='google.rpc.context.AttributeContext.Api.service', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='operation', full_name='google.rpc.context.AttributeContext.Api.operation', 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='protocol', full_name='google.rpc.context.AttributeContext.Api.protocol', 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='version', full_name='google.rpc.context.AttributeContext.Api.version', 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=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=785,
  serialized_end=861,
)

_ATTRIBUTECONTEXT_AUTH = _descriptor.Descriptor(
  name='Auth',
  full_name='google.rpc.context.AttributeContext.Auth',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='principal', full_name='google.rpc.context.AttributeContext.Auth.principal', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='audiences', full_name='google.rpc.context.AttributeContext.Auth.audiences', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='presenter', full_name='google.rpc.context.AttributeContext.Auth.presenter', 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='claims', full_name='google.rpc.context.AttributeContext.Auth.claims', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='access_levels', full_name='google.rpc.context.AttributeContext.Auth.access_levels', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=863,
  serialized_end=990,
)

_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY = _descriptor.Descriptor(
  name='HeadersEntry',
  full_name='google.rpc.context.AttributeContext.Request.HeadersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.rpc.context.AttributeContext.Request.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.rpc.context.AttributeContext.Request.HeadersEntry.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1314,
  serialized_end=1360,
)

_ATTRIBUTECONTEXT_REQUEST = _descriptor.Descriptor(
  name='Request',
  full_name='google.rpc.context.AttributeContext.Request',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='google.rpc.context.AttributeContext.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='method', full_name='google.rpc.context.AttributeContext.Request.method', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='headers', full_name='google.rpc.context.AttributeContext.Request.headers', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='path', full_name='google.rpc.context.AttributeContext.Request.path', 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=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='host', full_name='google.rpc.context.AttributeContext.Request.host', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='scheme', full_name='google.rpc.context.AttributeContext.Request.scheme', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='query', full_name='google.rpc.context.AttributeContext.Request.query', index=6,
      number=7, 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='time', full_name='google.rpc.context.AttributeContext.Request.time', index=7,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='google.rpc.context.AttributeContext.Request.size', index=8,
      number=10, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='protocol', full_name='google.rpc.context.AttributeContext.Request.protocol', index=9,
      number=11, 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='reason', full_name='google.rpc.context.AttributeContext.Request.reason', index=10,
      number=12, 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='auth', full_name='google.rpc.context.AttributeContext.Request.auth', index=11,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=993,
  serialized_end=1360,
)

_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY = _descriptor.Descriptor(
  name='HeadersEntry',
  full_name='google.rpc.context.AttributeContext.Response.HeadersEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.rpc.context.AttributeContext.Response.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.rpc.context.AttributeContext.Response.HeadersEntry.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1314,
  serialized_end=1360,
)

_ATTRIBUTECONTEXT_RESPONSE = _descriptor.Descriptor(
  name='Response',
  full_name='google.rpc.context.AttributeContext.Response',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='google.rpc.context.AttributeContext.Response.code', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size', full_name='google.rpc.context.AttributeContext.Response.size', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='headers', full_name='google.rpc.context.AttributeContext.Response.headers', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time', full_name='google.rpc.context.AttributeContext.Response.time', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1363,
  serialized_end=1568,
)

_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY = _descriptor.Descriptor(
  name='LabelsEntry',
  full_name='google.rpc.context.AttributeContext.Resource.LabelsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.rpc.context.AttributeContext.Resource.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.rpc.context.AttributeContext.Resource.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=738,
  serialized_end=783,
)

_ATTRIBUTECONTEXT_RESOURCE = _descriptor.Descriptor(
  name='Resource',
  full_name='google.rpc.context.AttributeContext.Resource',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='service', full_name='google.rpc.context.AttributeContext.Resource.service', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='name', full_name='google.rpc.context.AttributeContext.Resource.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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='google.rpc.context.AttributeContext.Resource.type', 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='labels', full_name='google.rpc.context.AttributeContext.Resource.labels', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1571,
  serialized_end=1748,
)

_ATTRIBUTECONTEXT = _descriptor.Descriptor(
  name='AttributeContext',
  full_name='google.rpc.context.AttributeContext',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='origin', full_name='google.rpc.context.AttributeContext.origin', index=0,
      number=7, 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='source', full_name='google.rpc.context.AttributeContext.source', index=1,
      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='destination', full_name='google.rpc.context.AttributeContext.destination', index=2,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='request', full_name='google.rpc.context.AttributeContext.request', index=3,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='response', full_name='google.rpc.context.AttributeContext.response', index=4,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='resource', full_name='google.rpc.context.AttributeContext.resource', index=5,
      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='api', full_name='google.rpc.context.AttributeContext.api', index=6,
      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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_ATTRIBUTECONTEXT_PEER, _ATTRIBUTECONTEXT_API, _ATTRIBUTECONTEXT_AUTH, _ATTRIBUTECONTEXT_REQUEST, _ATTRIBUTECONTEXT_RESPONSE, _ATTRIBUTECONTEXT_RESOURCE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=142,
  serialized_end=1748,
)

_ATTRIBUTECONTEXT_PEER_LABELSENTRY.containing_type = _ATTRIBUTECONTEXT_PEER
_ATTRIBUTECONTEXT_PEER.fields_by_name['labels'].message_type = _ATTRIBUTECONTEXT_PEER_LABELSENTRY
_ATTRIBUTECONTEXT_PEER.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT_API.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT_AUTH.fields_by_name['claims'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT
_ATTRIBUTECONTEXT_AUTH.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY.containing_type = _ATTRIBUTECONTEXT_REQUEST
_ATTRIBUTECONTEXT_REQUEST.fields_by_name['headers'].message_type = _ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY
_ATTRIBUTECONTEXT_REQUEST.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_ATTRIBUTECONTEXT_REQUEST.fields_by_name['auth'].message_type = _ATTRIBUTECONTEXT_AUTH
_ATTRIBUTECONTEXT_REQUEST.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY.containing_type = _ATTRIBUTECONTEXT_RESPONSE
_ATTRIBUTECONTEXT_RESPONSE.fields_by_name['headers'].message_type = _ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY
_ATTRIBUTECONTEXT_RESPONSE.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_ATTRIBUTECONTEXT_RESPONSE.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY.containing_type = _ATTRIBUTECONTEXT_RESOURCE
_ATTRIBUTECONTEXT_RESOURCE.fields_by_name['labels'].message_type = _ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY
_ATTRIBUTECONTEXT_RESOURCE.containing_type = _ATTRIBUTECONTEXT
_ATTRIBUTECONTEXT.fields_by_name['origin'].message_type = _ATTRIBUTECONTEXT_PEER
_ATTRIBUTECONTEXT.fields_by_name['source'].message_type = _ATTRIBUTECONTEXT_PEER
_ATTRIBUTECONTEXT.fields_by_name['destination'].message_type = _ATTRIBUTECONTEXT_PEER
_ATTRIBUTECONTEXT.fields_by_name['request'].message_type = _ATTRIBUTECONTEXT_REQUEST
_ATTRIBUTECONTEXT.fields_by_name['response'].message_type = _ATTRIBUTECONTEXT_RESPONSE
_ATTRIBUTECONTEXT.fields_by_name['resource'].message_type = _ATTRIBUTECONTEXT_RESOURCE
_ATTRIBUTECONTEXT.fields_by_name['api'].message_type = _ATTRIBUTECONTEXT_API
DESCRIPTOR.message_types_by_name['AttributeContext'] = _ATTRIBUTECONTEXT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  'Peer' : _reflection.GeneratedProtocolMessageType('Peer', (_message.Message,), {

    'LabelsEntry' : _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), {
      'DESCRIPTOR' : _ATTRIBUTECONTEXT_PEER_LABELSENTRY,
      '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
      # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Peer.LabelsEntry)
      })
    ,
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_PEER,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines attributes for a node that handles a network
    request. The node can be either a service or an application that
    sends, forwards, or receives the request. Service peers should fill in
    ``principal`` and ``labels`` as appropriate.
    
    Attributes:
        ip:
            The IP address of the peer.
        port:
            The network port of the peer.
        labels:
            The labels associated with the peer.
        principal:
            The identity of this peer. Similar to
            ``Request.auth.principal``, but relative to the peer instead
            of the request. For example, the idenity associated with a
            load balancer that forwared the request.
        region_code:
            The CLDR country/region code associated with the above IP
            address. If the IP address is private, the ``region_code``
            should reflect the physical location where this peer is
            running.
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Peer)
    })
  ,

  'Api' : _reflection.GeneratedProtocolMessageType('Api', (_message.Message,), {
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_API,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines attributes associated with API operations, such
    as a network API request. The terminology is based on the conventions
    used by Google APIs, Istio, and OpenAPI.
    
    Attributes:
        service:
            The API service name. It is a logical identifier for a
            networked API, such as “pubsub.googleapis.com”. The naming
            syntax depends on the API management system being used for
            handling the request.
        operation:
            The API operation name. For gRPC requests, it is the fully
            qualified API method name, such as
            “google.pubsub.v1.Publisher.Publish”. For OpenAPI requests, it
            is the ``operationId``, such as “getPet”.
        protocol:
            The API protocol used for sending the request, such as “http”,
            “https”, “grpc”, or “internal”.
        version:
            The API version associated with the API operation above, such
            as “v1” or “v1alpha1”.
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Api)
    })
  ,

  'Auth' : _reflection.GeneratedProtocolMessageType('Auth', (_message.Message,), {
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_AUTH,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines request authentication attributes. Terminology is
    based on the JSON Web Token (JWT) standard, but the terms also
    correlate to concepts in other standards.
    
    Attributes:
        principal:
            The authenticated principal. Reflects the issuer (``iss``) and
            subject (``sub``) claims within a JWT. The issuer and subject
            should be ``/`` delimited, with ``/`` percent-encoded within
            the subject fragment. For Google accounts, the principal
            format is: “https://accounts.google.com/{id}”
        audiences:
            The intended audience(s) for this authentication information.
            Reflects the audience (``aud``) claim within a JWT. The
            audience value(s) depends on the ``issuer``, but typically
            include one or more of the following pieces of information:  -
            The services intended to receive the credential such as
            [“pubsub.googleapis.com”, “storage.googleapis.com”] -  A set
            of service-based scopes. For example,
            [“https://www.googleapis.com/auth/cloud-platform”] -  The
            client id of an app, such as the Firebase project id for JWTs
            from Firebase Auth.  Consult the documentation for the
            credential issuer to determine the information provided.
        presenter:
            The authorized presenter of the credential. Reflects the
            optional Authorized Presenter (``azp``) claim within a JWT or
            the OAuth client id. For example, a Google Cloud Platform
            client id looks as follows:
            “123456789012.apps.googleusercontent.com”.
        claims:
            Structured claims presented with the credential. JWTs include
            ``{key: value}`` pairs for standard and private claims. The
            following is a subset of the standard required and optional
            claims that would typically be presented for a Google-based
            JWT:  {‘iss’: ‘accounts.google.com’, ‘sub’:
            ‘113289723416554971153’, ‘aud’: [‘123456789012’,
            ‘pubsub.googleapis.com’], ‘azp’:
            ‘123456789012.apps.googleusercontent.com’, ‘email’:
            ‘jsmith@example.com’, ‘iat’: 1353601026, ‘exp’: 1353604926}
            SAML assertions are similarly specified, but with an identity
            provider dependent structure.
        access_levels:
            A list of access level resource names that allow resources to
            be accessed by authenticated requester. It is part of Secure
            GCP processing for the incoming request. An access level
            string has the format: “//{api_service_name}/accessPolicies/{p
            olicy_id}/accessLevels/{short_name}”  Example: “//accesscontex
            tmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLeve
            ls/MY_LEVEL”
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Auth)
    })
  ,

  'Request' : _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), {

    'HeadersEntry' : _reflection.GeneratedProtocolMessageType('HeadersEntry', (_message.Message,), {
      'DESCRIPTOR' : _ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY,
      '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
      # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Request.HeadersEntry)
      })
    ,
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_REQUEST,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines attributes for an HTTP request. If the actual
    request is not an HTTP request, the runtime system should try to map
    the actual request to an equivalent HTTP request.
    
    Attributes:
        id:
            The unique ID for a request, which can be propagated to
            downstream systems. The ID should have low probability of
            collision within a single day for a specific service.
        method:
            The HTTP request method, such as ``GET``, ``POST``.
        headers:
            The HTTP request headers. If multiple headers share the same
            key, they must be merged according to the HTTP spec. All
            header keys must be lowercased, because HTTP header keys are
            case-insensitive.
        path:
            The HTTP URL path.
        host:
            The HTTP request ``Host`` header value.
        scheme:
            The HTTP URL scheme, such as ``http`` and ``https``.
        query:
            The HTTP URL query in the format of
            ``name1=value1&name2=value2``, as it appears in the first line
            of the HTTP request. No decoding is performed.
        time:
            The timestamp when the ``destination`` service receives the
            first byte of the request.
        size:
            The HTTP request size in bytes. If unknown, it must be -1.
        protocol:
            The network protocol used with the request, such as
            “http/1.1”, “spdy/3”, “h2”, “h2c”, “webrtc”, “tcp”, “udp”,
            “quic”. See https://www.iana.org/assignments/tls-
            extensiontype-values/tls-extensiontype-values.xhtml#alpn-
            protocol-ids for details.
        reason:
            A special parameter for request reason. It is used by security
            systems to associate auditing information with a request.
        auth:
            The request authentication. May be absent for unauthenticated
            requests. Derived from the HTTP request ``Authorization``
            header or equivalent.
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Request)
    })
  ,

  'Response' : _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), {

    'HeadersEntry' : _reflection.GeneratedProtocolMessageType('HeadersEntry', (_message.Message,), {
      'DESCRIPTOR' : _ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY,
      '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
      # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Response.HeadersEntry)
      })
    ,
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_RESPONSE,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines attributes for a typical network response. It
    generally models semantics of an HTTP response.
    
    Attributes:
        code:
            The HTTP response status code, such as ``200`` and ``404``.
        size:
            The HTTP response size in bytes. If unknown, it must be -1.
        headers:
            The HTTP response headers. If multiple headers share the same
            key, they must be merged according to HTTP spec. All header
            keys must be lowercased, because HTTP header keys are case-
            insensitive.
        time:
            The timestamp when the ``destination`` service generates the
            first byte of the response.
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Response)
    })
  ,

  'Resource' : _reflection.GeneratedProtocolMessageType('Resource', (_message.Message,), {

    'LabelsEntry' : _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), {
      'DESCRIPTOR' : _ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY,
      '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
      # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Resource.LabelsEntry)
      })
    ,
    'DESCRIPTOR' : _ATTRIBUTECONTEXT_RESOURCE,
    '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
    ,
    '__doc__': """This message defines core attributes for a resource. A resource is an
    addressable (named) entity provided by the destination service. For
    example, a file stored on a network storage service.
    
    Attributes:
        service:
            The name of the service that this resource belongs to, such as
            ``pubsub.googleapis.com``. The service may be different from
            the DNS hostname that actually serves the request.
        name:
            The stable identifier (name) of a resource on the ``service``.
            A resource can be logically identified as
            “//{resource.service}/{resource.name}”. The differences
            between a resource name and a URI are:  -  Resource name is a
            logical identifier, independent of network    protocol and API
            version. For example,
            ``//pubsub.googleapis.com/projects/123/topics/news-feed``. -
            URI often includes protocol and version information, so it can
            be    used directly by applications. For example,
            ``https://pubsub.googleapis.com/v1/projects/123/topics/news-
            feed``.  See
            https://cloud.google.com/apis/design/resource_names for
            details.
        type:
            The type of the resource. The syntax is platform-specific
            because different platforms define their resources
            differently.  For Google APIs, the type format must be
            “{service}/{kind}”.
        labels:
            The labels or tags on the resource, such as AWS resource tags
            and Kubernetes resource labels.
    """,
    # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext.Resource)
    })
  ,
  'DESCRIPTOR' : _ATTRIBUTECONTEXT,
  '__module__' : 'google.cloud.rpc_context.proto.attribute_context_pb2'
  ,
  '__doc__': """This message defines the standard attribute vocabulary for Google
  APIs.  An attribute is a piece of metadata that describes an activity
  on a network service. For example, the size of an HTTP request, or the
  status code of an HTTP response.  Each attribute has a type and a
  name, which is logically defined as a proto message field in
  ``AttributeContext``. The field type becomes the attribute type, and
  the field path becomes the attribute name. For example, the attribute
  ``source.ip`` maps to field ``AttributeContext.source.ip``.  This
  message definition is guaranteed not to have any wire breaking change.
  So you can use it directly for passing attributes across different
  systems.  NOTE: Different system may generate different subset of
  attributes. Please verify the system specification before relying on
  an attribute generated a system.
  
  Attributes:
      origin:
          The origin of a network activity. In a multi hop network
          activity, the origin represents the sender of the first hop.
          For the first hop, the ``source`` and the ``origin`` must have
          the same content.
      source:
          The source of a network activity, such as starting a TCP
          connection. In a multi hop network activity, the source
          represents the sender of the last hop.
      destination:
          The destination of a network activity, such as accepting a TCP
          connection. In a multi hop network activity, the destination
          represents the receiver of the last hop.
      request:
          Represents a network request, such as an HTTP request.
      response:
          Represents a network response, such as an HTTP response.
      resource:
          Represents a target resource that is involved with a network
          activity. If multiple resources are involved with an activity,
          this must be the primary one.
      api:
          Represents an API operation that is involved to a network
          activity.
  """,
  # @@protoc_insertion_point(class_scope:google.rpc.context.AttributeContext)
  })
_sym_db.RegisterMessage(AttributeContext)
_sym_db.RegisterMessage(AttributeContext.Peer)
_sym_db.RegisterMessage(AttributeContext.Peer.LabelsEntry)
_sym_db.RegisterMessage(AttributeContext.Api)
_sym_db.RegisterMessage(AttributeContext.Auth)
_sym_db.RegisterMessage(AttributeContext.Request)
_sym_db.RegisterMessage(AttributeContext.Request.HeadersEntry)
_sym_db.RegisterMessage(AttributeContext.Response)
_sym_db.RegisterMessage(AttributeContext.Response.HeadersEntry)
_sym_db.RegisterMessage(AttributeContext.Resource)
_sym_db.RegisterMessage(AttributeContext.Resource.LabelsEntry)


DESCRIPTOR._options = None
_ATTRIBUTECONTEXT_PEER_LABELSENTRY._options = None
_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY._options = None
_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY._options = None
_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY._options = None
# @@protoc_insertion_point(module_scope)
