# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/logging_v2/proto/logging.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.api import monitored_resource_pb2 as google_dot_api_dot_monitored__resource__pb2
from google.cloud.logging_v2.proto import log_entry_pb2 as google_dot_cloud_dot_logging__v2_dot_proto_dot_log__entry__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/logging_v2/proto/logging.proto',
  package='google.logging.v2',
  syntax='proto3',
  serialized_pb=_b('\n+google/cloud/logging_v2/proto/logging.proto\x12\x11google.logging.v2\x1a\x1cgoogle/api/annotations.proto\x1a#google/api/monitored_resource.proto\x1a-google/cloud/logging_v2/proto/log_entry.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"$\n\x10\x44\x65leteLogRequest\x12\x10\n\x08log_name\x18\x01 \x01(\t\"\x98\x02\n\x16WriteLogEntriesRequest\x12\x10\n\x08log_name\x18\x01 \x01(\t\x12/\n\x08resource\x18\x02 \x01(\x0b\x32\x1d.google.api.MonitoredResource\x12\x45\n\x06labels\x18\x03 \x03(\x0b\x32\x35.google.logging.v2.WriteLogEntriesRequest.LabelsEntry\x12,\n\x07\x65ntries\x18\x04 \x03(\x0b\x32\x1b.google.logging.v2.LogEntry\x12\x17\n\x0fpartial_success\x18\x05 \x01(\x08\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x19\n\x17WriteLogEntriesResponse\"\xc8\x01\n\x1cWriteLogEntriesPartialErrors\x12]\n\x10log_entry_errors\x18\x01 \x03(\x0b\x32\x43.google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry\x1aI\n\x13LogEntryErrorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status:\x02\x38\x01\"\x8d\x01\n\x15ListLogEntriesRequest\x12\x13\n\x0bproject_ids\x18\x01 \x03(\t\x12\x16\n\x0eresource_names\x18\x08 \x03(\t\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x10\n\x08order_by\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x12\n\npage_token\x18\x05 \x01(\t\"_\n\x16ListLogEntriesResponse\x12,\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1b.google.logging.v2.LogEntry\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"P\n\'ListMonitoredResourceDescriptorsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"\x8a\x01\n(ListMonitoredResourceDescriptorsResponse\x12\x45\n\x14resource_descriptors\x18\x01 \x03(\x0b\x32\'.google.api.MonitoredResourceDescriptor\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"H\n\x0fListLogsRequest\x12\x0e\n\x06parent\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\">\n\x10ListLogsResponse\x12\x11\n\tlog_names\x18\x03 \x03(\t\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\xd5\x05\n\x10LoggingServiceV2\x12w\n\tDeleteLog\x12#.google.logging.v2.DeleteLogRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'*%/v2beta1/{log_name=projects/*/logs/*}\x12\x86\x01\n\x0fWriteLogEntries\x12).google.logging.v2.WriteLogEntriesRequest\x1a*.google.logging.v2.WriteLogEntriesResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v2/entries:write:\x01*\x12\x82\x01\n\x0eListLogEntries\x12(.google.logging.v2.ListLogEntriesRequest\x1a).google.logging.v2.ListLogEntriesResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v2/entries:list:\x01*\x12\xc5\x01\n ListMonitoredResourceDescriptors\x12:.google.logging.v2.ListMonitoredResourceDescriptorsRequest\x1a;.google.logging.v2.ListMonitoredResourceDescriptorsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v2/monitoredResourceDescriptors\x12r\n\x08ListLogs\x12\".google.logging.v2.ListLogsRequest\x1a#.google.logging.v2.ListLogsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/{parent=*/*}/logsB\x98\x01\n\x15\x63om.google.logging.v2B\x0cLoggingProtoP\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_api_dot_monitored__resource__pb2.DESCRIPTOR,google_dot_cloud_dot_logging__v2_dot_proto_dot_log__entry__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)




_DELETELOGREQUEST = _descriptor.Descriptor(
  name='DeleteLogRequest',
  full_name='google.logging.v2.DeleteLogRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='log_name', full_name='google.logging.v2.DeleteLogRequest.log_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=299,
  serialized_end=335,
)


_WRITELOGENTRIESREQUEST_LABELSENTRY = _descriptor.Descriptor(
  name='LabelsEntry',
  full_name='google.logging.v2.WriteLogEntriesRequest.LabelsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.logging.v2.WriteLogEntriesRequest.LabelsEntry.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.logging.v2.WriteLogEntriesRequest.LabelsEntry.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=573,
  serialized_end=618,
)

_WRITELOGENTRIESREQUEST = _descriptor.Descriptor(
  name='WriteLogEntriesRequest',
  full_name='google.logging.v2.WriteLogEntriesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='log_name', full_name='google.logging.v2.WriteLogEntriesRequest.log_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='resource', full_name='google.logging.v2.WriteLogEntriesRequest.resource', 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='labels', full_name='google.logging.v2.WriteLogEntriesRequest.labels', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='entries', full_name='google.logging.v2.WriteLogEntriesRequest.entries', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='partial_success', full_name='google.logging.v2.WriteLogEntriesRequest.partial_success', index=4,
      number=5, 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=[_WRITELOGENTRIESREQUEST_LABELSENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=338,
  serialized_end=618,
)


_WRITELOGENTRIESRESPONSE = _descriptor.Descriptor(
  name='WriteLogEntriesResponse',
  full_name='google.logging.v2.WriteLogEntriesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=620,
  serialized_end=645,
)


_WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY = _descriptor.Descriptor(
  name='LogEntryErrorsEntry',
  full_name='google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry.key', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry.value', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=775,
  serialized_end=848,
)

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


_LISTLOGENTRIESREQUEST = _descriptor.Descriptor(
  name='ListLogEntriesRequest',
  full_name='google.logging.v2.ListLogEntriesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='project_ids', full_name='google.logging.v2.ListLogEntriesRequest.project_ids', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='resource_names', full_name='google.logging.v2.ListLogEntriesRequest.resource_names', index=1,
      number=8, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='filter', full_name='google.logging.v2.ListLogEntriesRequest.filter', index=2,
      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='order_by', full_name='google.logging.v2.ListLogEntriesRequest.order_by', index=3,
      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='page_size', full_name='google.logging.v2.ListLogEntriesRequest.page_size', index=4,
      number=4, 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),
    _descriptor.FieldDescriptor(
      name='page_token', full_name='google.logging.v2.ListLogEntriesRequest.page_token', index=5,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=851,
  serialized_end=992,
)


_LISTLOGENTRIESRESPONSE = _descriptor.Descriptor(
  name='ListLogEntriesResponse',
  full_name='google.logging.v2.ListLogEntriesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entries', full_name='google.logging.v2.ListLogEntriesResponse.entries', 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.ListLogEntriesResponse.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=994,
  serialized_end=1089,
)


_LISTMONITOREDRESOURCEDESCRIPTORSREQUEST = _descriptor.Descriptor(
  name='ListMonitoredResourceDescriptorsRequest',
  full_name='google.logging.v2.ListMonitoredResourceDescriptorsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='page_size', full_name='google.logging.v2.ListMonitoredResourceDescriptorsRequest.page_size', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='page_token', full_name='google.logging.v2.ListMonitoredResourceDescriptorsRequest.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=1091,
  serialized_end=1171,
)


_LISTMONITOREDRESOURCEDESCRIPTORSRESPONSE = _descriptor.Descriptor(
  name='ListMonitoredResourceDescriptorsResponse',
  full_name='google.logging.v2.ListMonitoredResourceDescriptorsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='resource_descriptors', full_name='google.logging.v2.ListMonitoredResourceDescriptorsResponse.resource_descriptors', 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.ListMonitoredResourceDescriptorsResponse.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=1174,
  serialized_end=1312,
)


_LISTLOGSREQUEST = _descriptor.Descriptor(
  name='ListLogsRequest',
  full_name='google.logging.v2.ListLogsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='parent', full_name='google.logging.v2.ListLogsRequest.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_size', full_name='google.logging.v2.ListLogsRequest.page_size', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='page_token', full_name='google.logging.v2.ListLogsRequest.page_token', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1314,
  serialized_end=1386,
)


_LISTLOGSRESPONSE = _descriptor.Descriptor(
  name='ListLogsResponse',
  full_name='google.logging.v2.ListLogsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='log_names', full_name='google.logging.v2.ListLogsResponse.log_names', index=0,
      number=3, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='next_page_token', full_name='google.logging.v2.ListLogsResponse.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=1388,
  serialized_end=1450,
)

_WRITELOGENTRIESREQUEST_LABELSENTRY.containing_type = _WRITELOGENTRIESREQUEST
_WRITELOGENTRIESREQUEST.fields_by_name['resource'].message_type = google_dot_api_dot_monitored__resource__pb2._MONITOREDRESOURCE
_WRITELOGENTRIESREQUEST.fields_by_name['labels'].message_type = _WRITELOGENTRIESREQUEST_LABELSENTRY
_WRITELOGENTRIESREQUEST.fields_by_name['entries'].message_type = google_dot_cloud_dot_logging__v2_dot_proto_dot_log__entry__pb2._LOGENTRY
_WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY.fields_by_name['value'].message_type = google_dot_rpc_dot_status__pb2._STATUS
_WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY.containing_type = _WRITELOGENTRIESPARTIALERRORS
_WRITELOGENTRIESPARTIALERRORS.fields_by_name['log_entry_errors'].message_type = _WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY
_LISTLOGENTRIESRESPONSE.fields_by_name['entries'].message_type = google_dot_cloud_dot_logging__v2_dot_proto_dot_log__entry__pb2._LOGENTRY
_LISTMONITOREDRESOURCEDESCRIPTORSRESPONSE.fields_by_name['resource_descriptors'].message_type = google_dot_api_dot_monitored__resource__pb2._MONITOREDRESOURCEDESCRIPTOR
DESCRIPTOR.message_types_by_name['DeleteLogRequest'] = _DELETELOGREQUEST
DESCRIPTOR.message_types_by_name['WriteLogEntriesRequest'] = _WRITELOGENTRIESREQUEST
DESCRIPTOR.message_types_by_name['WriteLogEntriesResponse'] = _WRITELOGENTRIESRESPONSE
DESCRIPTOR.message_types_by_name['WriteLogEntriesPartialErrors'] = _WRITELOGENTRIESPARTIALERRORS
DESCRIPTOR.message_types_by_name['ListLogEntriesRequest'] = _LISTLOGENTRIESREQUEST
DESCRIPTOR.message_types_by_name['ListLogEntriesResponse'] = _LISTLOGENTRIESRESPONSE
DESCRIPTOR.message_types_by_name['ListMonitoredResourceDescriptorsRequest'] = _LISTMONITOREDRESOURCEDESCRIPTORSREQUEST
DESCRIPTOR.message_types_by_name['ListMonitoredResourceDescriptorsResponse'] = _LISTMONITOREDRESOURCEDESCRIPTORSRESPONSE
DESCRIPTOR.message_types_by_name['ListLogsRequest'] = _LISTLOGSREQUEST
DESCRIPTOR.message_types_by_name['ListLogsResponse'] = _LISTLOGSRESPONSE

DeleteLogRequest = _reflection.GeneratedProtocolMessageType('DeleteLogRequest', (_message.Message,), dict(
  DESCRIPTOR = _DELETELOGREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """The parameters to DeleteLog.
  
  
  Attributes:
      log_name:
          Required. The resource name of the log to delete:  ::
          "projects/[PROJECT_ID]/logs/[LOG_ID]"
          "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
          "folders/[FOLDER_ID]/logs/[LOG_ID]"  ``[LOG_ID]`` must be URL-
          encoded. For example, ``"projects/my-project-
          id/logs/syslog"``, ``"organizations/1234567890/logs/cloudresou
          rcemanager.googleapis.com%2Factivity"``. For more information
          about log names, see [LogEntry][google.logging.v2.LogEntry].
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.DeleteLogRequest)
  ))
_sym_db.RegisterMessage(DeleteLogRequest)

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

  LabelsEntry = _reflection.GeneratedProtocolMessageType('LabelsEntry', (_message.Message,), dict(
    DESCRIPTOR = _WRITELOGENTRIESREQUEST_LABELSENTRY,
    __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
    # @@protoc_insertion_point(class_scope:google.logging.v2.WriteLogEntriesRequest.LabelsEntry)
    ))
  ,
  DESCRIPTOR = _WRITELOGENTRIESREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """The parameters to WriteLogEntries.
  
  
  Attributes:
      log_name:
          Optional. A default log resource name that is assigned to all
          log entries in ``entries`` that do not specify a value for
          ``log_name``:  ::      "projects/[PROJECT_ID]/logs/[LOG_ID]"
          "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
          "folders/[FOLDER_ID]/logs/[LOG_ID]"  ``[LOG_ID]`` must be URL-
          encoded. For example, ``"projects/my-project-id/logs/syslog"``
          or ``"organizations/1234567890/logs/cloudresourcemanager.googl
          eapis.com%2Factivity"``. For more information about log names,
          see [LogEntry][google.logging.v2.LogEntry].
      resource:
          Optional. A default monitored resource object that is assigned
          to all log entries in ``entries`` that do not specify a value
          for ``resource``. Example:  ::      { "type": "gce_instance",
          "labels": {         "zone": "us-central1-a", "instance_id":
          "00000000000000000000" }}  See
          [LogEntry][google.logging.v2.LogEntry].
      labels:
          Optional. Default labels that are added to the ``labels``
          field of all log entries in ``entries``. If a log entry
          already has a label with the same key as a label in this
          parameter, then the log entry's label is not changed. See
          [LogEntry][google.logging.v2.LogEntry].
      entries:
          Required. The log entries to send to Stackdriver Logging. The
          order of log entries in this list does not matter. Values
          supplied in this method's ``log_name``, ``resource``, and
          ``labels`` fields are copied into those log entries in this
          list that do not include values for their corresponding
          fields. For more information, see the
          [LogEntry][google.logging.v2.LogEntry] type.  If the
          ``timestamp`` or ``insert_id`` fields are missing in log
          entries, then this method supplies the current time or a
          unique identifier, respectively. The supplied values are
          chosen so that, among the log entries that did not supply
          their own values, the entries earlier in the list will sort
          before the entries later in the list. See the ``entries.list``
          method.  Log entries with timestamps that are more than the
          `logs retention period </logging/quota-policy>`__ in the past
          or more than 24 hours in the future might be discarded.
          Discarding does not return an error.  To improve throughput
          and to avoid exceeding the `quota limit </logging/quota-
          policy>`__ for calls to ``entries.write``, you should try to
          include several log entries in this list, rather than calling
          this method for each individual log entry.
      partial_success:
          Optional. Whether valid entries should be written even if some
          other entries fail due to INVALID\_ARGUMENT or
          PERMISSION\_DENIED errors. If any entry is not written, then
          the response status is the error associated with one of the
          failed entries and the response includes error details keyed
          by the entries' zero-based index in the ``entries.write``
          method.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.WriteLogEntriesRequest)
  ))
_sym_db.RegisterMessage(WriteLogEntriesRequest)
_sym_db.RegisterMessage(WriteLogEntriesRequest.LabelsEntry)

WriteLogEntriesResponse = _reflection.GeneratedProtocolMessageType('WriteLogEntriesResponse', (_message.Message,), dict(
  DESCRIPTOR = _WRITELOGENTRIESRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """Result returned from WriteLogEntries. empty
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.WriteLogEntriesResponse)
  ))
_sym_db.RegisterMessage(WriteLogEntriesResponse)

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

  LogEntryErrorsEntry = _reflection.GeneratedProtocolMessageType('LogEntryErrorsEntry', (_message.Message,), dict(
    DESCRIPTOR = _WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY,
    __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
    # @@protoc_insertion_point(class_scope:google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry)
    ))
  ,
  DESCRIPTOR = _WRITELOGENTRIESPARTIALERRORS,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """Error details for WriteLogEntries with partial success.
  
  
  Attributes:
      log_entry_errors:
          When ``WriteLogEntriesRequest.partial_success`` is true,
          records the error status for entries that were not written due
          to a permanent error, keyed by the entry's zero-based index in
          ``WriteLogEntriesRequest.entries``.  Failed requests for which
          no entries are written will not include per-entry errors.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.WriteLogEntriesPartialErrors)
  ))
_sym_db.RegisterMessage(WriteLogEntriesPartialErrors)
_sym_db.RegisterMessage(WriteLogEntriesPartialErrors.LogEntryErrorsEntry)

ListLogEntriesRequest = _reflection.GeneratedProtocolMessageType('ListLogEntriesRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTLOGENTRIESREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """The parameters to ``ListLogEntries``.
  
  
  Attributes:
      project_ids:
          Deprecated. Use ``resource_names`` instead. One or more
          project identifiers or project numbers from which to retrieve
          log entries. Example: ``"my-project-1A"``. If present, these
          project identifiers are converted to resource name format and
          added to the list of resources in ``resource_names``.
      resource_names:
          Required. Names of one or more parent resources from which to
          retrieve log entries:  ::      "projects/[PROJECT_ID]"
          "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"  Projects listed in the ``project_ids``
          field are added to this list.
      filter:
          Optional. A filter that chooses which log entries to return.
          See `Advanced Logs Filters
          </logging/docs/view/advanced_filters>`__. Only log entries
          that match the filter are returned. An empty filter matches
          all log entries in the resources listed in ``resource_names``.
          Referencing a parent resource that is not listed in
          ``resource_names`` will cause the filter to return no results.
          The maximum length of the filter is 20000 characters.
      order_by:
          Optional. How the results should be sorted. Presently, the
          only permitted values are ``"timestamp asc"`` (default) and
          ``"timestamp desc"``. The first option returns entries in
          order of increasing values of ``LogEntry.timestamp`` (oldest
          first), and the second option returns entries in order of
          decreasing timestamps (newest first). Entries with equal
          timestamps are returned in order of their ``insert_id``
          values.
      page_size:
          Optional. The maximum number of results to return from this
          request. Non-positive values are ignored. The presence of
          ``next_page_token`` in the response indicates that more
          results might be available.
      page_token:
          Optional. If present, then retrieve the next batch of results
          from the preceding call to this method. ``page_token`` must be
          the value of ``next_page_token`` from the previous response.
          The values of other method parameters should be identical to
          those in the previous call.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListLogEntriesRequest)
  ))
_sym_db.RegisterMessage(ListLogEntriesRequest)

ListLogEntriesResponse = _reflection.GeneratedProtocolMessageType('ListLogEntriesResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTLOGENTRIESRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """Result returned from ``ListLogEntries``.
  
  
  Attributes:
      entries:
          A list of log entries. If ``entries`` is empty,
          ``nextPageToken`` may still be returned, indicating that more
          entries may exist. See ``nextPageToken`` for more information.
      next_page_token:
          If there might be more results than those appearing in this
          response, then ``nextPageToken`` is included. To get the next
          set of results, call this method again using the value of
          ``nextPageToken`` as ``pageToken``.  If a value for
          ``next_page_token`` appears and the ``entries`` field is
          empty, it means that the search found no log entries so far
          but it did not have time to search all the possible log
          entries. Retry the method with this value for ``page_token``
          to continue the search. Alternatively, consider speeding up
          the search by changing your filter to specify a single log
          name or resource type, or to narrow the time range of the
          search.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListLogEntriesResponse)
  ))
_sym_db.RegisterMessage(ListLogEntriesResponse)

ListMonitoredResourceDescriptorsRequest = _reflection.GeneratedProtocolMessageType('ListMonitoredResourceDescriptorsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTMONITOREDRESOURCEDESCRIPTORSREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """The parameters to ListMonitoredResourceDescriptors
  
  
  Attributes:
      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.
      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.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListMonitoredResourceDescriptorsRequest)
  ))
_sym_db.RegisterMessage(ListMonitoredResourceDescriptorsRequest)

ListMonitoredResourceDescriptorsResponse = _reflection.GeneratedProtocolMessageType('ListMonitoredResourceDescriptorsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTMONITOREDRESOURCEDESCRIPTORSRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """Result returned from ListMonitoredResourceDescriptors.
  
  
  Attributes:
      resource_descriptors:
          A list of resource descriptors.
      next_page_token:
          If there might be more results than those appearing in this
          response, then ``nextPageToken`` is included. To get the next
          set of results, call this method again using the value of
          ``nextPageToken`` as ``pageToken``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListMonitoredResourceDescriptorsResponse)
  ))
_sym_db.RegisterMessage(ListMonitoredResourceDescriptorsResponse)

ListLogsRequest = _reflection.GeneratedProtocolMessageType('ListLogsRequest', (_message.Message,), dict(
  DESCRIPTOR = _LISTLOGSREQUEST,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """The parameters to ListLogs.
  
  
  Attributes:
      parent:
          Required. The resource name that owns the logs:  ::
          "projects/[PROJECT_ID]"     "organizations/[ORGANIZATION_ID]"
          "billingAccounts/[BILLING_ACCOUNT_ID]"
          "folders/[FOLDER_ID]"
      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.
      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.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListLogsRequest)
  ))
_sym_db.RegisterMessage(ListLogsRequest)

ListLogsResponse = _reflection.GeneratedProtocolMessageType('ListLogsResponse', (_message.Message,), dict(
  DESCRIPTOR = _LISTLOGSRESPONSE,
  __module__ = 'google.cloud.logging_v2.proto.logging_pb2'
  ,
  __doc__ = """Result returned from ListLogs.
  
  
  Attributes:
      log_names:
          A list of log names. For example, ``"projects/my-
          project/syslog"`` or ``"organizations/123/cloudresourcemanager
          .googleapis.com%2Factivity"``.
      next_page_token:
          If there might be more results than those appearing in this
          response, then ``nextPageToken`` is included. To get the next
          set of results, call this method again using the value of
          ``nextPageToken`` as ``pageToken``.
  """,
  # @@protoc_insertion_point(class_scope:google.logging.v2.ListLogsResponse)
  ))
_sym_db.RegisterMessage(ListLogsResponse)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.google.logging.v2B\014LoggingProtoP\001Z8google.golang.org/genproto/googleapis/logging/v2;logging\370\001\001\252\002\027Google.Cloud.Logging.V2\312\002\027Google\\Cloud\\Logging\\V2'))
_WRITELOGENTRIESREQUEST_LABELSENTRY.has_options = True
_WRITELOGENTRIESREQUEST_LABELSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY.has_options = True
_WRITELOGENTRIESPARTIALERRORS_LOGENTRYERRORSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
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 LoggingServiceV2Stub(object):
    """Service for ingesting and querying logs.
    """

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

      Args:
        channel: A grpc.Channel.
      """
      self.DeleteLog = channel.unary_unary(
          '/google.logging.v2.LoggingServiceV2/DeleteLog',
          request_serializer=DeleteLogRequest.SerializeToString,
          response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
          )
      self.WriteLogEntries = channel.unary_unary(
          '/google.logging.v2.LoggingServiceV2/WriteLogEntries',
          request_serializer=WriteLogEntriesRequest.SerializeToString,
          response_deserializer=WriteLogEntriesResponse.FromString,
          )
      self.ListLogEntries = channel.unary_unary(
          '/google.logging.v2.LoggingServiceV2/ListLogEntries',
          request_serializer=ListLogEntriesRequest.SerializeToString,
          response_deserializer=ListLogEntriesResponse.FromString,
          )
      self.ListMonitoredResourceDescriptors = channel.unary_unary(
          '/google.logging.v2.LoggingServiceV2/ListMonitoredResourceDescriptors',
          request_serializer=ListMonitoredResourceDescriptorsRequest.SerializeToString,
          response_deserializer=ListMonitoredResourceDescriptorsResponse.FromString,
          )
      self.ListLogs = channel.unary_unary(
          '/google.logging.v2.LoggingServiceV2/ListLogs',
          request_serializer=ListLogsRequest.SerializeToString,
          response_deserializer=ListLogsResponse.FromString,
          )


  class LoggingServiceV2Servicer(object):
    """Service for ingesting and querying logs.
    """

    def DeleteLog(self, request, context):
      """Deletes all the log entries in a log.
      The log reappears if it receives new entries.
      Log entries written shortly before the delete operation might not be
      deleted.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def WriteLogEntries(self, request, context):
      """## Log entry resources

      Writes log entries to Stackdriver Logging. This API method is the
      only way to send log entries to Stackdriver Logging. This method
      is used, directly or indirectly, by the Stackdriver Logging agent
      (fluentd) and all logging libraries configured to use Stackdriver
      Logging.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListLogEntries(self, request, context):
      """Lists log entries.  Use this method to retrieve log entries from
      Stackdriver Logging.  For ways to export log entries, see
      [Exporting Logs](/logging/docs/export).
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListMonitoredResourceDescriptors(self, request, context):
      """Lists the descriptors for monitored resource types used by Stackdriver
      Logging.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')

    def ListLogs(self, request, context):
      """Lists the logs in projects, organizations, folders, or billing accounts.
      Only logs that have entries are listed.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_LoggingServiceV2Servicer_to_server(servicer, server):
    rpc_method_handlers = {
        'DeleteLog': grpc.unary_unary_rpc_method_handler(
            servicer.DeleteLog,
            request_deserializer=DeleteLogRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        'WriteLogEntries': grpc.unary_unary_rpc_method_handler(
            servicer.WriteLogEntries,
            request_deserializer=WriteLogEntriesRequest.FromString,
            response_serializer=WriteLogEntriesResponse.SerializeToString,
        ),
        'ListLogEntries': grpc.unary_unary_rpc_method_handler(
            servicer.ListLogEntries,
            request_deserializer=ListLogEntriesRequest.FromString,
            response_serializer=ListLogEntriesResponse.SerializeToString,
        ),
        'ListMonitoredResourceDescriptors': grpc.unary_unary_rpc_method_handler(
            servicer.ListMonitoredResourceDescriptors,
            request_deserializer=ListMonitoredResourceDescriptorsRequest.FromString,
            response_serializer=ListMonitoredResourceDescriptorsResponse.SerializeToString,
        ),
        'ListLogs': grpc.unary_unary_rpc_method_handler(
            servicer.ListLogs,
            request_deserializer=ListLogsRequest.FromString,
            response_serializer=ListLogsResponse.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'google.logging.v2.LoggingServiceV2', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaLoggingServiceV2Servicer(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 ingesting and querying logs.
    """
    def DeleteLog(self, request, context):
      """Deletes all the log entries in a log.
      The log reappears if it receives new entries.
      Log entries written shortly before the delete operation might not be
      deleted.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def WriteLogEntries(self, request, context):
      """## Log entry resources

      Writes log entries to Stackdriver Logging. This API method is the
      only way to send log entries to Stackdriver Logging. This method
      is used, directly or indirectly, by the Stackdriver Logging agent
      (fluentd) and all logging libraries configured to use Stackdriver
      Logging.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListLogEntries(self, request, context):
      """Lists log entries.  Use this method to retrieve log entries from
      Stackdriver Logging.  For ways to export log entries, see
      [Exporting Logs](/logging/docs/export).
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListMonitoredResourceDescriptors(self, request, context):
      """Lists the descriptors for monitored resource types used by Stackdriver
      Logging.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
    def ListLogs(self, request, context):
      """Lists the logs in projects, organizations, folders, or billing accounts.
      Only logs that have entries are listed.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaLoggingServiceV2Stub(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 ingesting and querying logs.
    """
    def DeleteLog(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Deletes all the log entries in a log.
      The log reappears if it receives new entries.
      Log entries written shortly before the delete operation might not be
      deleted.
      """
      raise NotImplementedError()
    DeleteLog.future = None
    def WriteLogEntries(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """## Log entry resources

      Writes log entries to Stackdriver Logging. This API method is the
      only way to send log entries to Stackdriver Logging. This method
      is used, directly or indirectly, by the Stackdriver Logging agent
      (fluentd) and all logging libraries configured to use Stackdriver
      Logging.
      """
      raise NotImplementedError()
    WriteLogEntries.future = None
    def ListLogEntries(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Lists log entries.  Use this method to retrieve log entries from
      Stackdriver Logging.  For ways to export log entries, see
      [Exporting Logs](/logging/docs/export).
      """
      raise NotImplementedError()
    ListLogEntries.future = None
    def ListMonitoredResourceDescriptors(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Lists the descriptors for monitored resource types used by Stackdriver
      Logging.
      """
      raise NotImplementedError()
    ListMonitoredResourceDescriptors.future = None
    def ListLogs(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Lists the logs in projects, organizations, folders, or billing accounts.
      Only logs that have entries are listed.
      """
      raise NotImplementedError()
    ListLogs.future = None


  def beta_create_LoggingServiceV2_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.LoggingServiceV2', 'DeleteLog'): DeleteLogRequest.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogEntries'): ListLogEntriesRequest.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogs'): ListLogsRequest.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListMonitoredResourceDescriptors'): ListMonitoredResourceDescriptorsRequest.FromString,
      ('google.logging.v2.LoggingServiceV2', 'WriteLogEntries'): WriteLogEntriesRequest.FromString,
    }
    response_serializers = {
      ('google.logging.v2.LoggingServiceV2', 'DeleteLog'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogEntries'): ListLogEntriesResponse.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogs'): ListLogsResponse.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListMonitoredResourceDescriptors'): ListMonitoredResourceDescriptorsResponse.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'WriteLogEntries'): WriteLogEntriesResponse.SerializeToString,
    }
    method_implementations = {
      ('google.logging.v2.LoggingServiceV2', 'DeleteLog'): face_utilities.unary_unary_inline(servicer.DeleteLog),
      ('google.logging.v2.LoggingServiceV2', 'ListLogEntries'): face_utilities.unary_unary_inline(servicer.ListLogEntries),
      ('google.logging.v2.LoggingServiceV2', 'ListLogs'): face_utilities.unary_unary_inline(servicer.ListLogs),
      ('google.logging.v2.LoggingServiceV2', 'ListMonitoredResourceDescriptors'): face_utilities.unary_unary_inline(servicer.ListMonitoredResourceDescriptors),
      ('google.logging.v2.LoggingServiceV2', 'WriteLogEntries'): face_utilities.unary_unary_inline(servicer.WriteLogEntries),
    }
    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_LoggingServiceV2_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.LoggingServiceV2', 'DeleteLog'): DeleteLogRequest.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogEntries'): ListLogEntriesRequest.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogs'): ListLogsRequest.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'ListMonitoredResourceDescriptors'): ListMonitoredResourceDescriptorsRequest.SerializeToString,
      ('google.logging.v2.LoggingServiceV2', 'WriteLogEntries'): WriteLogEntriesRequest.SerializeToString,
    }
    response_deserializers = {
      ('google.logging.v2.LoggingServiceV2', 'DeleteLog'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogEntries'): ListLogEntriesResponse.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListLogs'): ListLogsResponse.FromString,
      ('google.logging.v2.LoggingServiceV2', 'ListMonitoredResourceDescriptors'): ListMonitoredResourceDescriptorsResponse.FromString,
      ('google.logging.v2.LoggingServiceV2', 'WriteLogEntries'): WriteLogEntriesResponse.FromString,
    }
    cardinalities = {
      'DeleteLog': cardinality.Cardinality.UNARY_UNARY,
      'ListLogEntries': cardinality.Cardinality.UNARY_UNARY,
      'ListLogs': cardinality.Cardinality.UNARY_UNARY,
      'ListMonitoredResourceDescriptors': cardinality.Cardinality.UNARY_UNARY,
      'WriteLogEntries': 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.LoggingServiceV2', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
