# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/logging_v2/proto/logging_config.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.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/logging_v2/proto/logging_config.proto',
  package='google.logging.v2',
  syntax='proto3',
  serialized_pb=_b('\n2google/cloud/logging_v2/proto/logging_config.proto\x12\x11google.logging.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd7\x02\n\x07LogSink\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\x12G\n\x15output_version_format\x18\x06 \x01(\x0e\x32(.google.logging.v2.LogSink.VersionFormat\x12\x17\n\x0fwriter_identity\x18\x08 \x01(\t\x12\x18\n\x10include_children\x18\t \x01(\x08\x12.\n\nstart_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"?\n\rVersionFormat\x12\x1e\n\x1aVERSION_FORMAT_UNSPECIFIED\x10\x00\x12\x06\n\x02V2\x10\x01\x12\x06\n\x02V1\x10\x02\"I\n\x10ListSinksRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\"W\n\x11ListSinksResponse\x12)\n\x05sinks\x18\x01 \x03(\x0b\x32\x1a.google.logging.v2.LogSink\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"#\n\x0eGetSinkRequest\x12\x11\n\tsink_name\x18\x01 \x01(\t\"m\n\x11\x43reateSinkRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12(\n\x04sink\x18\x02 \x01(\x0b\x32\x1a.google.logging.v2.LogSink\x12\x1e\n\x16unique_writer_identity\x18\x03 \x01(\x08\"\xa1\x01\n\x11UpdateSinkRequest\x12\x11\n\tsink_name\x18\x01 \x01(\t\x12(\n\x04sink\x18\x02 \x01(\x0b\x32\x1a.google.logging.v2.LogSink\x12\x1e\n\x16unique_writer_identity\x18\x03 \x01(\x08\x12/\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"&\n\x11\x44\x65leteSinkRequest\x12\x11\n\tsink_name\x18\x01 \x01(\t\"S\n\x0cLogExclusion\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x03 \x01(\t\x12\x10\n\x08\x64isabled\x18\x04 \x01(\x08\"N\n\x15ListExclusionsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\"f\n\x16ListExclusionsResponse\x12\x33\n\nexclusions\x18\x01 \x03(\x0b\x32\x1f.google.logging.v2.LogExclusion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"#\n\x13GetExclusionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x16\x43reateExclusionRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x32\n\texclusion\x18\x02 \x01(\x0b\x32\x1f.google.logging.v2.LogExclusion\"\x8b\x01\n\x16UpdateExclusionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\texclusion\x18\x02 \x01(\x0b\x32\x1f.google.logging.v2.LogExclusion\x12/\n\x0bupdate_mask\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"&\n\x16\x44\x65leteExclusionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t2\x80\n\n\x0f\x43onfigServiceV2\x12v\n\tListSinks\x12#.google.logging.v2.ListSinksRequest\x1a$.google.logging.v2.ListSinksResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/{parent=*/*}/sinks\x12m\n\x07GetSink\x12!.google.logging.v2.GetSinkRequest\x1a\x1a.google.logging.v2.LogSink\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/{sink_name=*/*/sinks/*}\x12t\n\nCreateSink\x12$.google.logging.v2.CreateSinkRequest\x1a\x1a.google.logging.v2.LogSink\"$\x82\xd3\xe4\x93\x02\x1e\"\x16/v2/{parent=*/*}/sinks:\x04sink\x12y\n\nUpdateSink\x12$.google.logging.v2.UpdateSinkRequest\x1a\x1a.google.logging.v2.LogSink\")\x82\xd3\xe4\x93\x02#\x1a\x1b/v2/{sink_name=*/*/sinks/*}:\x04sink\x12o\n\nDeleteSink\x12$.google.logging.v2.DeleteSinkRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/v2/{sink_name=*/*/sinks/*}\x12\x8a\x01\n\x0eListExclusions\x12(.google.logging.v2.ListExclusionsRequest\x1a).google.logging.v2.ListExclusionsResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/{parent=*/*}/exclusions\x12|\n\x0cGetExclusion\x12&.google.logging.v2.GetExclusionRequest\x1a\x1f.google.logging.v2.LogExclusion\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/{name=*/*/exclusions/*}\x12\x8d\x01\n\x0f\x43reateExclusion\x12).google.logging.v2.CreateExclusionRequest\x1a\x1f.google.logging.v2.LogExclusion\".\x82\xd3\xe4\x93\x02(\"\x1b/v2/{parent=*/*}/exclusions:\texclusion\x12\x8d\x01\n\x0fUpdateExclusion\x12).google.logging.v2.UpdateExclusionRequest\x1a\x1f.google.logging.v2.LogExclusion\".\x82\xd3\xe4\x93\x02(2\x1b/v2/{name=*/*/exclusions/*}:\texclusion\x12y\n\x0f\x44\x65leteExclusion\x12).google.logging.v2.DeleteExclusionRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d*\x1b/v2/{name=*/*/exclusions/*}B\x9e\x01\n\x15\x63om.google.logging.v2B\x12LoggingConfigProtoP\x01Z8google.golang.org/genproto/googleapis/logging/v2;logging\xf8\x01\x01\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V2b\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_field__mask__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)



_LOGSINK_VERSIONFORMAT = _descriptor.EnumDescriptor(
  name='VersionFormat',
  full_name='google.logging.v2.LogSink.VersionFormat',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='VERSION_FORMAT_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='V2', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='V1', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=480,
  serialized_end=543,
)
_sym_db.RegisterEnumDescriptor(_LOGSINK_VERSIONFORMAT)


_LOGSINK = _descriptor.Descriptor(
  name='LogSink',
  full_name='google.logging.v2.LogSink',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.logging.v2.LogSink.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),
    _descriptor.FieldDescriptor(
      name='destination', full_name='google.logging.v2.LogSink.destination', index=1,
      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),
    _descriptor.FieldDescriptor(
      name='filter', full_name='google.logging.v2.LogSink.filter', index=2,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='output_version_format', full_name='google.logging.v2.LogSink.output_version_format', index=3,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='writer_identity', full_name='google.logging.v2.LogSink.writer_identity', 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,
      options=None),
    _descriptor.FieldDescriptor(
      name='include_children', full_name='google.logging.v2.LogSink.include_children', index=5,
      number=9, 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),
    _descriptor.FieldDescriptor(
      name='start_time', full_name='google.logging.v2.LogSink.start_time', index=6,
      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),
    _descriptor.FieldDescriptor(
      name='end_time', full_name='google.logging.v2.LogSink.end_time', index=7,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _LOGSINK_VERSIONFORMAT,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=200,
  serialized_end=543,
)


_LISTSINKSREQUEST = _descriptor.Descriptor(
  name='ListSinksRequest',
  full_name='google.logging.v2.ListSinksRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='google.logging.v2.ListSinksRequest.parent', 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),
    _descriptor.FieldDescriptor(
      name='page_token', full_name='google.logging.v2.ListSinksRequest.page_token', 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),
    _descriptor.FieldDescriptor(
      name='page_size', full_name='google.logging.v2.ListSinksRequest.page_size', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=545,
  serialized_end=618,
)


_LISTSINKSRESPONSE = _descriptor.Descriptor(
  name='ListSinksResponse',
  full_name='google.logging.v2.ListSinksResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sinks', full_name='google.logging.v2.ListSinksResponse.sinks', 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),
    _descriptor.FieldDescriptor(
      name='next_page_token', full_name='google.logging.v2.ListSinksResponse.next_page_token', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=620,
  serialized_end=707,
)


_GETSINKREQUEST = _descriptor.Descriptor(
  name='GetSinkRequest',
  full_name='google.logging.v2.GetSinkRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sink_name', full_name='google.logging.v2.GetSinkRequest.sink_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=709,
  serialized_end=744,
)


_CREATESINKREQUEST = _descriptor.Descriptor(
  name='CreateSinkRequest',
  full_name='google.logging.v2.CreateSinkRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='google.logging.v2.CreateSinkRequest.parent', 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),
    _descriptor.FieldDescriptor(
      name='sink', full_name='google.logging.v2.CreateSinkRequest.sink', 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),
    _descriptor.FieldDescriptor(
      name='unique_writer_identity', full_name='google.logging.v2.CreateSinkRequest.unique_writer_identity', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=746,
  serialized_end=855,
)


_UPDATESINKREQUEST = _descriptor.Descriptor(
  name='UpdateSinkRequest',
  full_name='google.logging.v2.UpdateSinkRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sink_name', full_name='google.logging.v2.UpdateSinkRequest.sink_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),
    _descriptor.FieldDescriptor(
      name='sink', full_name='google.logging.v2.UpdateSinkRequest.sink', 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),
    _descriptor.FieldDescriptor(
      name='unique_writer_identity', full_name='google.logging.v2.UpdateSinkRequest.unique_writer_identity', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='update_mask', full_name='google.logging.v2.UpdateSinkRequest.update_mask', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=858,
  serialized_end=1019,
)


_DELETESINKREQUEST = _descriptor.Descriptor(
  name='DeleteSinkRequest',
  full_name='google.logging.v2.DeleteSinkRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sink_name', full_name='google.logging.v2.DeleteSinkRequest.sink_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1021,
  serialized_end=1059,
)


_LOGEXCLUSION = _descriptor.Descriptor(
  name='LogExclusion',
  full_name='google.logging.v2.LogExclusion',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.logging.v2.LogExclusion.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),
    _descriptor.FieldDescriptor(
      name='description', full_name='google.logging.v2.LogExclusion.description', 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),
    _descriptor.FieldDescriptor(
      name='filter', full_name='google.logging.v2.LogExclusion.filter', 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),
    _descriptor.FieldDescriptor(
      name='disabled', full_name='google.logging.v2.LogExclusion.disabled', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1061,
  serialized_end=1144,
)


_LISTEXCLUSIONSREQUEST = _descriptor.Descriptor(
  name='ListExclusionsRequest',
  full_name='google.logging.v2.ListExclusionsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='google.logging.v2.ListExclusionsRequest.parent', 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),
    _descriptor.FieldDescriptor(
      name='page_token', full_name='google.logging.v2.ListExclusionsRequest.page_token', 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),
    _descriptor.FieldDescriptor(
      name='page_size', full_name='google.logging.v2.ListExclusionsRequest.page_size', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1146,
  serialized_end=1224,
)


_LISTEXCLUSIONSRESPONSE = _descriptor.Descriptor(
  name='ListExclusionsResponse',
  full_name='google.logging.v2.ListExclusionsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='exclusions', full_name='google.logging.v2.ListExclusionsResponse.exclusions', 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),
    _descriptor.FieldDescriptor(
      name='next_page_token', full_name='google.logging.v2.ListExclusionsResponse.next_page_token', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1226,
  serialized_end=1328,
)


_GETEXCLUSIONREQUEST = _descriptor.Descriptor(
  name='GetExclusionRequest',
  full_name='google.logging.v2.GetExclusionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.logging.v2.GetExclusionRequest.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1330,
  serialized_end=1365,
)


_CREATEEXCLUSIONREQUEST = _descriptor.Descriptor(
  name='CreateExclusionRequest',
  full_name='google.logging.v2.CreateExclusionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='google.logging.v2.CreateExclusionRequest.parent', 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),
    _descriptor.FieldDescriptor(
      name='exclusion', full_name='google.logging.v2.CreateExclusionRequest.exclusion', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1367,
  serialized_end=1459,
)


_UPDATEEXCLUSIONREQUEST = _descriptor.Descriptor(
  name='UpdateExclusionRequest',
  full_name='google.logging.v2.UpdateExclusionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.logging.v2.UpdateExclusionRequest.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),
    _descriptor.FieldDescriptor(
      name='exclusion', full_name='google.logging.v2.UpdateExclusionRequest.exclusion', 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),
    _descriptor.FieldDescriptor(
      name='update_mask', full_name='google.logging.v2.UpdateExclusionRequest.update_mask', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1462,
  serialized_end=1601,
)


_DELETEEXCLUSIONREQUEST = _descriptor.Descriptor(
  name='DeleteExclusionRequest',
  full_name='google.logging.v2.DeleteExclusionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.logging.v2.DeleteExclusionRequest.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1603,
  serialized_end=1641,
)

_LOGSINK.fields_by_name['output_version_format'].enum_type = _LOGSINK_VERSIONFORMAT
_LOGSINK.fields_by_name['start_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_LOGSINK.fields_by_name['end_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_LOGSINK_VERSIONFORMAT.containing_type = _LOGSINK
_LISTSINKSRESPONSE.fields_by_name['sinks'].message_type = _LOGSINK
_CREATESINKREQUEST.fields_by_name['sink'].message_type = _LOGSINK
_UPDATESINKREQUEST.fields_by_name['sink'].message_type = _LOGSINK
_UPDATESINKREQUEST.fields_by_name['update_mask'].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK
_LISTEXCLUSIONSRESPONSE.fields_by_name['exclusions'].message_type = _LOGEXCLUSION
_CREATEEXCLUSIONREQUEST.fields_by_name['exclusion'].message_type = _LOGEXCLUSION
_UPDATEEXCLUSIONREQUEST.fields_by_name['exclusion'].message_type = _LOGEXCLUSION
_UPDATEEXCLUSIONREQUEST.fields_by_name['update_mask'].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK
DESCRIPTOR.message_types_by_name['LogSink'] = _LOGSINK
DESCRIPTOR.message_types_by_name['ListSinksRequest'] = _LISTSINKSREQUEST
DESCRIPTOR.message_types_by_name['ListSinksResponse'] = _LISTSINKSRESPONSE
DESCRIPTOR.message_types_by_name['GetSinkRequest'] = _GETSINKREQUEST
DESCRIPTOR.message_types_by_name['CreateSinkRequest'] = _CREATESINKREQUEST
DESCRIPTOR.message_types_by_name['UpdateSinkRequest'] = _UPDATESINKREQUEST
DESCRIPTOR.message_types_by_name['DeleteSinkRequest'] = _DELETESINKREQUEST
DESCRIPTOR.message_types_by_name['LogExclusion'] = _LOGEXCLUSION
DESCRIPTOR.message_types_by_name['ListExclusionsRequest'] = _LISTEXCLUSIONSREQUEST
DESCRIPTOR.message_types_by_name['ListExclusionsResponse'] = _LISTEXCLUSIONSRESPONSE
DESCRIPTOR.message_types_by_name['GetExclusionRequest'] = _GETEXCLUSIONREQUEST
DESCRIPTOR.message_types_by_name['CreateExclusionRequest'] = _CREATEEXCLUSIONREQUEST
DESCRIPTOR.message_types_by_name['UpdateExclusionRequest'] = _UPDATEEXCLUSIONREQUEST
DESCRIPTOR.message_types_by_name['DeleteExclusionRequest'] = _DELETEEXCLUSIONREQUEST

LogSink = _reflection.GeneratedProtocolMessageType('LogSink', (_message.Message,), dict(
  DESCRIPTOR = _LOGSINK,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """Describes a sink used to export log entries to one of the following
  destinations in any project: a Cloud Storage bucket, a BigQuery dataset,
  or a Cloud Pub/Sub topic. A logs filter controls which log entries are
  exported. The sink must be created within a project, organization,
  billing account, or folder.
  
  
  Attributes:
      name:
          Required. The client-assigned sink identifier, unique within
          the project. Example: ``"my-syslog-errors-to-pubsub"``. Sink
          identifiers are limited to 100 characters and can include only
          the following characters: upper and lower-case alphanumeric
          characters, underscores, hyphens, and periods.
      destination:
          Required. The export destination:  ::
          "storage.googleapis.com/[GCS_BUCKET]"     "bigquery.googleapis
          .com/projects/[PROJECT_ID]/datasets/[DATASET]"     "pubsub.goo
          gleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"  The
          sink's ``writer_identity``, set when the sink is created, must
          have permission to write to the destination or else the log
          entries are not exported. For more information, see `Exporting
          Logs With Sinks </logging/docs/api/tasks/exporting-logs>`__.
      filter:
          Optional. An `advanced logs filter
          </logging/docs/view/advanced_filters>`__. The only exported
          log entries are those that are in the resource owning the sink
          and that match the filter. For example:  ::
          logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND
          severity>=ERROR
      output_version_format:
          Deprecated. The log entry format to use for this sink's
          exported log entries. The v2 format is used by default and
          cannot be changed.
      writer_identity:
          Output only. An IAM identity—a service account or group—under
          which Stackdriver Logging writes the exported log entries to
          the sink's destination. This field is set by `sinks.create
          </logging/docs/api/reference/rest/v2/projects.sinks/create>`__
          and `sinks.update </logging/docs/api/reference/rest/v2/project
          s.sinks/update>`__, based on the setting of
          ``unique_writer_identity`` in those methods.  Until you grant
          this identity write-access to the destination, log entry
          exports from this sink will fail. For more information, see
          `Granting access for a resource </iam/docs/granting-roles-to-
          service-accounts#granting_access_to_a_service_account_for_a_re
          source>`__. Consult the destination service's documentation to
          determine the appropriate IAM roles to assign to the identity.
      include_children:
          Optional. This field applies only to sinks owned by
          organizations and folders. If the field is false, the default,
          only the logs owned by the sink's parent resource are
          available for export. If the field is true, then logs from all
          the projects, folders, and billing accounts contained in the
          sink's parent resource are also available for export. Whether
          a particular log entry from the children is exported depends
          on the sink's filter expression. For example, if this field is
          true, then the filter ``resource.type=gce_instance`` would
          export all Compute Engine VM instance log entries from all
          projects in the sink's parent. To only export entries from
          certain child projects, filter on the project part of the log
          name:  ::      logName:("projects/test-project1/" OR
          "projects/test-project2/") AND     resource.type=gce_instance
      start_time:
          Deprecated. This field is ignored when creating or updating
          sinks.
      end_time:
          Deprecated. This field is ignored when creating or updating
          sinks.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.LogSink)
  ))
_sym_db.RegisterMessage(LogSink)

ListSinksRequest = _reflection.GeneratedProtocolMessageType('ListSinksRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTSINKSREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``ListSinks``.
  
  
  Attributes:
      parent:
          Required. The parent resource whose sinks are to be listed:
          ::      "projects/[PROJECT_ID]"
          "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"
      page_token:
          Optional. If present, then retrieve the next batch of results
          from the preceding call to this method. ``pageToken`` must be
          the value of ``nextPageToken`` from the previous response. The
          values of other method parameters should be identical to those
          in the previous call.
      page_size:
          Optional. The maximum number of results to return from this
          request. Non-positive values are ignored. The presence of
          ``nextPageToken`` in the response indicates that more results
          might be available.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListSinksRequest)
  ))
_sym_db.RegisterMessage(ListSinksRequest)

ListSinksResponse = _reflection.GeneratedProtocolMessageType('ListSinksResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTSINKSRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """Result returned from ``ListSinks``.
  
  
  Attributes:
      sinks:
          A list of sinks.
      next_page_token:
          If there might be more results than appear in this response,
          then ``nextPageToken`` is included. To get the next set of
          results, call the same method again using the value of
          ``nextPageToken`` as ``pageToken``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListSinksResponse)
  ))
_sym_db.RegisterMessage(ListSinksResponse)

GetSinkRequest = _reflection.GeneratedProtocolMessageType('GetSinkRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETSINKREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``GetSink``.
  
  
  Attributes:
      sink_name:
          Required. The resource name of the sink:  ::
          "projects/[PROJECT_ID]/sinks/[SINK_ID]"
          "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
          "folders/[FOLDER_ID]/sinks/[SINK_ID]"  Example:
          ``"projects/my-project-id/sinks/my-sink-id"``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.GetSinkRequest)
  ))
_sym_db.RegisterMessage(GetSinkRequest)

CreateSinkRequest = _reflection.GeneratedProtocolMessageType('CreateSinkRequest', (_message.Message,), dict(
  DESCRIPTOR = _CREATESINKREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``CreateSink``.
  
  
  Attributes:
      parent:
          Required. The resource in which to create the sink:  ::
          "projects/[PROJECT_ID]"     "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"  Examples: ``"projects/my-logging-
          project"``, ``"organizations/123456789"``.
      sink:
          Required. The new sink, whose ``name`` parameter is a sink
          identifier that is not already in use.
      unique_writer_identity:
          Optional. Determines the kind of IAM identity returned as
          ``writer_identity`` in the new sink. If this value is omitted
          or set to false, and if the sink's parent is a project, then
          the value returned as ``writer_identity`` is the same group or
          service account used by Stackdriver Logging before the
          addition of writer identities to this API. The sink's
          destination must be in the same project as the sink itself.
          If this field is set to true, or if the sink is owned by a
          non-project resource such as an organization, then the value
          of ``writer_identity`` will be a unique service account used
          only for exports from the new sink. For more information, see
          ``writer_identity`` in [LogSink][google.logging.v2.LogSink].
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.CreateSinkRequest)
  ))
_sym_db.RegisterMessage(CreateSinkRequest)

UpdateSinkRequest = _reflection.GeneratedProtocolMessageType('UpdateSinkRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPDATESINKREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``UpdateSink``.
  
  
  Attributes:
      sink_name:
          Required. The full resource name of the sink to update,
          including the parent resource and the sink identifier:  ::
          "projects/[PROJECT_ID]/sinks/[SINK_ID]"
          "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
          "folders/[FOLDER_ID]/sinks/[SINK_ID]"  Example:
          ``"projects/my-project-id/sinks/my-sink-id"``.
      sink:
          Required. The updated sink, whose name is the same identifier
          that appears as part of ``sink_name``.
      unique_writer_identity:
          Optional. See `sinks.create
          </logging/docs/api/reference/rest/v2/projects.sinks/create>`__
          for a description of this field. When updating a sink, the
          effect of this field on the value of ``writer_identity`` in
          the updated sink depends on both the old and new values of
          this field:  -  If the old and new values of this field are
          both false or both true,    then there is no change to the
          sink's ``writer_identity``. -  If the old value is false and
          the new value is true, then    ``writer_identity`` is changed
          to a unique service account. -  It is an error if the old
          value is true and the new value is set to    false or
          defaulted to false.
      update_mask:
          Optional. Field mask that specifies the fields in ``sink``
          that need an update. A sink field will be overwritten if, and
          only if, it is in the update mask. ``name`` and output only
          fields cannot be updated.  An empty updateMask is temporarily
          treated as using the following mask for backwards
          compatibility purposes: destination,filter,includeChildren At
          some point in the future, behavior will be removed and
          specifying an empty updateMask will be an error.  For a
          detailed ``FieldMask`` definition, see
          https://developers.google.com/protocol-
          buffers/docs/reference/google.protobuf#fieldmask  Example:
          ``updateMask=filter``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.UpdateSinkRequest)
  ))
_sym_db.RegisterMessage(UpdateSinkRequest)

DeleteSinkRequest = _reflection.GeneratedProtocolMessageType('DeleteSinkRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETESINKREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``DeleteSink``.
  
  
  Attributes:
      sink_name:
          Required. The full resource name of the sink to delete,
          including the parent resource and the sink identifier:  ::
          "projects/[PROJECT_ID]/sinks/[SINK_ID]"
          "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]"
          "folders/[FOLDER_ID]/sinks/[SINK_ID]"  Example:
          ``"projects/my-project-id/sinks/my-sink-id"``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.DeleteSinkRequest)
  ))
_sym_db.RegisterMessage(DeleteSinkRequest)

LogExclusion = _reflection.GeneratedProtocolMessageType('LogExclusion', (_message.Message,), dict(
  DESCRIPTOR = _LOGEXCLUSION,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """Specifies a set of log entries that are not to be stored in Stackdriver
  Logging. If your project receives a large volume of logs, you might be
  able to use exclusions to reduce your chargeable logs. Exclusions are
  processed after log sinks, so you can export log entries before they are
  excluded. Audit log entries and log entries from Amazon Web Services are
  never excluded.
  
  
  Attributes:
      name:
          Required. A client-assigned identifier, such as ``"load-
          balancer-exclusion"``. Identifiers are limited to 100
          characters and can include only letters, digits, underscores,
          hyphens, and periods.
      description:
          Optional. A description of this exclusion.
      filter:
          Required. An `advanced logs filter
          </logging/docs/view/advanced_filters>`__ that matches the log
          entries to be excluded. By using the `sample function
          </logging/docs/view/advanced_filters#sample>`__, you can
          exclude less than 100% of the matching log entries. For
          example, the following filter matches 99% of low-severity log
          entries from load balancers:  ::
          "resource.type=http_load_balancer severity<ERROR
          sample(insertId, 0.99)"
      disabled:
          Optional. If set to True, then this exclusion is disabled and
          it does not exclude any log entries. You can use
          `exclusions.patch </logging/docs/alpha-exclusion/docs/referenc
          e/v2/rest/v2/projects.exclusions/patch>`__ to change the value
          of this field.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.LogExclusion)
  ))
_sym_db.RegisterMessage(LogExclusion)

ListExclusionsRequest = _reflection.GeneratedProtocolMessageType('ListExclusionsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTEXCLUSIONSREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``ListExclusions``.
  
  
  Attributes:
      parent:
          Required. The parent resource whose exclusions are to be
          listed.  ::      "projects/[PROJECT_ID]"
          "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"
      page_token:
          Optional. If present, then retrieve the next batch of results
          from the preceding call to this method. ``pageToken`` must be
          the value of ``nextPageToken`` from the previous response. The
          values of other method parameters should be identical to those
          in the previous call.
      page_size:
          Optional. The maximum number of results to return from this
          request. Non-positive values are ignored. The presence of
          ``nextPageToken`` in the response indicates that more results
          might be available.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListExclusionsRequest)
  ))
_sym_db.RegisterMessage(ListExclusionsRequest)

ListExclusionsResponse = _reflection.GeneratedProtocolMessageType('ListExclusionsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTEXCLUSIONSRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """Result returned from ``ListExclusions``.
  
  
  Attributes:
      exclusions:
          A list of exclusions.
      next_page_token:
          If there might be more results than appear in this response,
          then ``nextPageToken`` is included. To get the next set of
          results, call the same method again using the value of
          ``nextPageToken`` as ``pageToken``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListExclusionsResponse)
  ))
_sym_db.RegisterMessage(ListExclusionsResponse)

GetExclusionRequest = _reflection.GeneratedProtocolMessageType('GetExclusionRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETEXCLUSIONREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``GetExclusion``.
  
  
  Attributes:
      name:
          Required. The resource name of an existing exclusion:  ::
          "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
          "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID
          ]"     "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
          Example: ``"projects/my-project-id/exclusions/my-exclusion-
          id"``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.GetExclusionRequest)
  ))
_sym_db.RegisterMessage(GetExclusionRequest)

CreateExclusionRequest = _reflection.GeneratedProtocolMessageType('CreateExclusionRequest', (_message.Message,), dict(
  DESCRIPTOR = _CREATEEXCLUSIONREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``CreateExclusion``.
  
  
  Attributes:
      parent:
          Required. The parent resource in which to create the
          exclusion:  ::      "projects/[PROJECT_ID]"
          "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"  Examples: ``"projects/my-logging-
          project"``, ``"organizations/123456789"``.
      exclusion:
          Required. The new exclusion, whose ``name`` parameter is an
          exclusion name that is not already used in the parent
          resource.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.CreateExclusionRequest)
  ))
_sym_db.RegisterMessage(CreateExclusionRequest)

UpdateExclusionRequest = _reflection.GeneratedProtocolMessageType('UpdateExclusionRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPDATEEXCLUSIONREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``UpdateExclusion``.
  
  
  Attributes:
      name:
          Required. The resource name of the exclusion to update:  ::
          "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
          "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID
          ]"     "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
          Example: ``"projects/my-project-id/exclusions/my-exclusion-
          id"``.
      exclusion:
          Required. New values for the existing exclusion. Only the
          fields specified in ``update_mask`` are relevant.
      update_mask:
          Required. A nonempty list of fields to change in the existing
          exclusion. New values for the fields are taken from the
          corresponding fields in the
          [LogExclusion][google.logging.v2.LogExclusion] included in
          this request. Fields not mentioned in ``update_mask`` are not
          changed and are ignored in the request.  For example, to
          change the filter and description of an exclusion, specify an
          ``update_mask`` of ``"filter,description"``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.UpdateExclusionRequest)
  ))
_sym_db.RegisterMessage(UpdateExclusionRequest)

DeleteExclusionRequest = _reflection.GeneratedProtocolMessageType('DeleteExclusionRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETEEXCLUSIONREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_config_pb2'
  ,
  __doc__ = """The parameters to ``DeleteExclusion``.
  
  
  Attributes:
      name:
          Required. The resource name of an existing exclusion to
          delete:  ::
          "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]"
          "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID
          ]"     "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]"
          Example: ``"projects/my-project-id/exclusions/my-exclusion-
          id"``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.DeleteExclusionRequest)
  ))
_sym_db.RegisterMessage(DeleteExclusionRequest)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.google.logging.v2B\022LoggingConfigProtoP\001Z8google.golang.org/genproto/googleapis/logging/v2;logging\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities


  class ConfigServiceV2Stub(object):
    """Service for configuring sinks used to export log entries outside of
    Stackdriver Logging.
    """

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.ListSinks = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/ListSinks',
          request_serializer=ListSinksRequest.SerializeToString,
          response_deserializer=ListSinksResponse.FromString,
          )
      self.GetSink = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/GetSink',
          request_serializer=GetSinkRequest.SerializeToString,
          response_deserializer=LogSink.FromString,
          )
      self.CreateSink = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/CreateSink',
          request_serializer=CreateSinkRequest.SerializeToString,
          response_deserializer=LogSink.FromString,
          )
      self.UpdateSink = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/UpdateSink',
          request_serializer=UpdateSinkRequest.SerializeToString,
          response_deserializer=LogSink.FromString,
          )
      self.DeleteSink = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/DeleteSink',
          request_serializer=DeleteSinkRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.ListExclusions = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/ListExclusions',
          request_serializer=ListExclusionsRequest.SerializeToString,
          response_deserializer=ListExclusionsResponse.FromString,
          )
      self.GetExclusion = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/GetExclusion',
          request_serializer=GetExclusionRequest.SerializeToString,
          response_deserializer=LogExclusion.FromString,
          )
      self.CreateExclusion = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/CreateExclusion',
          request_serializer=CreateExclusionRequest.SerializeToString,
          response_deserializer=LogExclusion.FromString,
          )
      self.UpdateExclusion = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/UpdateExclusion',
          request_serializer=UpdateExclusionRequest.SerializeToString,
          response_deserializer=LogExclusion.FromString,
          )
      self.DeleteExclusion = channel.unary_unary(
          '/google.logging.v2.ConfigServiceV2/DeleteExclusion',
          request_serializer=DeleteExclusionRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )


  class ConfigServiceV2Servicer(object):
    """Service for configuring sinks used to export log entries outside of
    Stackdriver Logging.
    """

    def ListSinks(self, request, context):
      """Lists sinks.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetSink(self, request, context):
      """Gets a sink.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def CreateSink(self, request, context):
      """Creates a sink that exports specified log entries to a destination.  The
      export of newly-ingested log entries begins immediately, unless the sink's
      `writer_identity` is not permitted to write to the destination.  A sink can
      export log entries only from the resource owning the sink.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def UpdateSink(self, request, context):
      """Updates a sink.  This method replaces the following fields in the existing
      sink with values from the new sink: `destination`, and `filter`.
      The updated sink might also have a new `writer_identity`; see the
      `unique_writer_identity` field.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteSink(self, request, context):
      """Deletes a sink. If the sink has a unique `writer_identity`, then that
      service account is also deleted.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListExclusions(self, request, context):
      """Lists all the exclusions in a parent resource.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def GetExclusion(self, request, context):
      """Gets the description of an exclusion.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def CreateExclusion(self, request, context):
      """Creates a new exclusion in a specified parent resource.
      Only log entries belonging to that resource can be excluded.
      You can have up to 10 exclusions in a resource.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def UpdateExclusion(self, request, context):
      """Changes one or more properties of an existing exclusion.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def DeleteExclusion(self, request, context):
      """Deletes an exclusion.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_ConfigServiceV2Servicer_to_server(servicer, server):
    rpc_method_handlers = {
        'ListSinks': grpc.unary_unary_rpc_method_handler(
            servicer.ListSinks,
            request_deserializer=ListSinksRequest.FromString,
            response_serializer=ListSinksResponse.SerializeToString,
        ),
        'GetSink': grpc.unary_unary_rpc_method_handler(
            servicer.GetSink,
            request_deserializer=GetSinkRequest.FromString,
            response_serializer=LogSink.SerializeToString,
        ),
        'CreateSink': grpc.unary_unary_rpc_method_handler(
            servicer.CreateSink,
            request_deserializer=CreateSinkRequest.FromString,
            response_serializer=LogSink.SerializeToString,
        ),
        'UpdateSink': grpc.unary_unary_rpc_method_handler(
            servicer.UpdateSink,
            request_deserializer=UpdateSinkRequest.FromString,
            response_serializer=LogSink.SerializeToString,
        ),
        'DeleteSink': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteSink,
            request_deserializer=DeleteSinkRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'ListExclusions': grpc.unary_unary_rpc_method_handler(
            servicer.ListExclusions,
            request_deserializer=ListExclusionsRequest.FromString,
            response_serializer=ListExclusionsResponse.SerializeToString,
        ),
        'GetExclusion': grpc.unary_unary_rpc_method_handler(
            servicer.GetExclusion,
            request_deserializer=GetExclusionRequest.FromString,
            response_serializer=LogExclusion.SerializeToString,
        ),
        'CreateExclusion': grpc.unary_unary_rpc_method_handler(
            servicer.CreateExclusion,
            request_deserializer=CreateExclusionRequest.FromString,
            response_serializer=LogExclusion.SerializeToString,
        ),
        'UpdateExclusion': grpc.unary_unary_rpc_method_handler(
            servicer.UpdateExclusion,
            request_deserializer=UpdateExclusionRequest.FromString,
            response_serializer=LogExclusion.SerializeToString,
        ),
        'DeleteExclusion': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteExclusion,
            request_deserializer=DeleteExclusionRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'google.logging.v2.ConfigServiceV2', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaConfigServiceV2Servicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service for configuring sinks used to export log entries outside of
    Stackdriver Logging.
    """
    def ListSinks(self, request, context):
      """Lists sinks.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetSink(self, request, context):
      """Gets a sink.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def CreateSink(self, request, context):
      """Creates a sink that exports specified log entries to a destination.  The
      export of newly-ingested log entries begins immediately, unless the sink's
      `writer_identity` is not permitted to write to the destination.  A sink can
      export log entries only from the resource owning the sink.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def UpdateSink(self, request, context):
      """Updates a sink.  This method replaces the following fields in the existing
      sink with values from the new sink: `destination`, and `filter`.
      The updated sink might also have a new `writer_identity`; see the
      `unique_writer_identity` field.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteSink(self, request, context):
      """Deletes a sink. If the sink has a unique `writer_identity`, then that
      service account is also deleted.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListExclusions(self, request, context):
      """Lists all the exclusions in a parent resource.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def GetExclusion(self, request, context):
      """Gets the description of an exclusion.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def CreateExclusion(self, request, context):
      """Creates a new exclusion in a specified parent resource.
      Only log entries belonging to that resource can be excluded.
      You can have up to 10 exclusions in a resource.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def UpdateExclusion(self, request, context):
      """Changes one or more properties of an existing exclusion.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def DeleteExclusion(self, request, context):
      """Deletes an exclusion.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaConfigServiceV2Stub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service for configuring sinks used to export log entries outside of
    Stackdriver Logging.
    """
    def ListSinks(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Lists sinks.
      """
      raise NotImplementedError()
    ListSinks.future = None
    def GetSink(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Gets a sink.
      """
      raise NotImplementedError()
    GetSink.future = None
    def CreateSink(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Creates a sink that exports specified log entries to a destination.  The
      export of newly-ingested log entries begins immediately, unless the sink's
      `writer_identity` is not permitted to write to the destination.  A sink can
      export log entries only from the resource owning the sink.
      """
      raise NotImplementedError()
    CreateSink.future = None
    def UpdateSink(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Updates a sink.  This method replaces the following fields in the existing
      sink with values from the new sink: `destination`, and `filter`.
      The updated sink might also have a new `writer_identity`; see the
      `unique_writer_identity` field.
      """
      raise NotImplementedError()
    UpdateSink.future = None
    def DeleteSink(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Deletes a sink. If the sink has a unique `writer_identity`, then that
      service account is also deleted.
      """
      raise NotImplementedError()
    DeleteSink.future = None
    def ListExclusions(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Lists all the exclusions in a parent resource.
      """
      raise NotImplementedError()
    ListExclusions.future = None
    def GetExclusion(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Gets the description of an exclusion.
      """
      raise NotImplementedError()
    GetExclusion.future = None
    def CreateExclusion(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Creates a new exclusion in a specified parent resource.
      Only log entries belonging to that resource can be excluded.
      You can have up to 10 exclusions in a resource.
      """
      raise NotImplementedError()
    CreateExclusion.future = None
    def UpdateExclusion(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Changes one or more properties of an existing exclusion.
      """
      raise NotImplementedError()
    UpdateExclusion.future = None
    def DeleteExclusion(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Deletes an exclusion.
      """
      raise NotImplementedError()
    DeleteExclusion.future = None


  def beta_create_ConfigServiceV2_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('google.logging.v2.ConfigServiceV2', 'CreateExclusion'): CreateExclusionRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'CreateSink'): CreateSinkRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteExclusion'): DeleteExclusionRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteSink'): DeleteSinkRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'GetExclusion'): GetExclusionRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'GetSink'): GetSinkRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'ListExclusions'): ListExclusionsRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'ListSinks'): ListSinksRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateExclusion'): UpdateExclusionRequest.FromString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateSink'): UpdateSinkRequest.FromString,
    }
    response_serializers = {
      ('google.logging.v2.ConfigServiceV2', 'CreateExclusion'): LogExclusion.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'CreateSink'): LogSink.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteExclusion'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteSink'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'GetExclusion'): LogExclusion.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'GetSink'): LogSink.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'ListExclusions'): ListExclusionsResponse.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'ListSinks'): ListSinksResponse.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateExclusion'): LogExclusion.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateSink'): LogSink.SerializeToString,
    }
    method_implementations = {
      ('google.logging.v2.ConfigServiceV2', 'CreateExclusion'): face_utilities.unary_unary_inline(servicer.CreateExclusion),
      ('google.logging.v2.ConfigServiceV2', 'CreateSink'): face_utilities.unary_unary_inline(servicer.CreateSink),
      ('google.logging.v2.ConfigServiceV2', 'DeleteExclusion'): face_utilities.unary_unary_inline(servicer.DeleteExclusion),
      ('google.logging.v2.ConfigServiceV2', 'DeleteSink'): face_utilities.unary_unary_inline(servicer.DeleteSink),
      ('google.logging.v2.ConfigServiceV2', 'GetExclusion'): face_utilities.unary_unary_inline(servicer.GetExclusion),
      ('google.logging.v2.ConfigServiceV2', 'GetSink'): face_utilities.unary_unary_inline(servicer.GetSink),
      ('google.logging.v2.ConfigServiceV2', 'ListExclusions'): face_utilities.unary_unary_inline(servicer.ListExclusions),
      ('google.logging.v2.ConfigServiceV2', 'ListSinks'): face_utilities.unary_unary_inline(servicer.ListSinks),
      ('google.logging.v2.ConfigServiceV2', 'UpdateExclusion'): face_utilities.unary_unary_inline(servicer.UpdateExclusion),
      ('google.logging.v2.ConfigServiceV2', 'UpdateSink'): face_utilities.unary_unary_inline(servicer.UpdateSink),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_ConfigServiceV2_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('google.logging.v2.ConfigServiceV2', 'CreateExclusion'): CreateExclusionRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'CreateSink'): CreateSinkRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteExclusion'): DeleteExclusionRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteSink'): DeleteSinkRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'GetExclusion'): GetExclusionRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'GetSink'): GetSinkRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'ListExclusions'): ListExclusionsRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'ListSinks'): ListSinksRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateExclusion'): UpdateExclusionRequest.SerializeToString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateSink'): UpdateSinkRequest.SerializeToString,
    }
    response_deserializers = {
      ('google.logging.v2.ConfigServiceV2', 'CreateExclusion'): LogExclusion.FromString,
      ('google.logging.v2.ConfigServiceV2', 'CreateSink'): LogSink.FromString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteExclusion'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('google.logging.v2.ConfigServiceV2', 'DeleteSink'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('google.logging.v2.ConfigServiceV2', 'GetExclusion'): LogExclusion.FromString,
      ('google.logging.v2.ConfigServiceV2', 'GetSink'): LogSink.FromString,
      ('google.logging.v2.ConfigServiceV2', 'ListExclusions'): ListExclusionsResponse.FromString,
      ('google.logging.v2.ConfigServiceV2', 'ListSinks'): ListSinksResponse.FromString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateExclusion'): LogExclusion.FromString,
      ('google.logging.v2.ConfigServiceV2', 'UpdateSink'): LogSink.FromString,
    }
    cardinalities = {
      'CreateExclusion': cardinality.Cardinality.UNARY_UNARY,
      'CreateSink': cardinality.Cardinality.UNARY_UNARY,
      'DeleteExclusion': cardinality.Cardinality.UNARY_UNARY,
      'DeleteSink': cardinality.Cardinality.UNARY_UNARY,
      'GetExclusion': cardinality.Cardinality.UNARY_UNARY,
      'GetSink': cardinality.Cardinality.UNARY_UNARY,
      'ListExclusions': cardinality.Cardinality.UNARY_UNARY,
      'ListSinks': cardinality.Cardinality.UNARY_UNARY,
      'UpdateExclusion': cardinality.Cardinality.UNARY_UNARY,
      'UpdateSink': cardinality.Cardinality.UNARY_UNARY,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'google.logging.v2.ConfigServiceV2', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
