# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grr_response_proto/objects.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 grr_response_proto import jobs_pb2 as grr__response__proto_dot_jobs__pb2
from grr_response_proto import knowledge_base_pb2 as grr__response__proto_dot_knowledge__base__pb2
from grr_response_proto import semantic_pb2 as grr__response__proto_dot_semantic__pb2
from grr_response_proto import sysinfo_pb2 as grr__response__proto_dot_sysinfo__pb2
from grr_response_proto import user_pb2 as grr__response__proto_dot_user__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='grr_response_proto/objects.proto',
  package='',
  syntax='proto2',
  serialized_pb=_b('\n grr_response_proto/objects.proto\x1a\x1dgrr_response_proto/jobs.proto\x1a\'grr_response_proto/knowledge_base.proto\x1a!grr_response_proto/semantic.proto\x1a grr_response_proto/sysinfo.proto\x1a\x1dgrr_response_proto/user.proto\"]\n\x0b\x43lientLabel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x05owner\x18\x02 \x01(\tB1\xe2\xfc\xe3\xc4\x01+\x12)Username of the user who added the label.\",\n\x0eStringMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xe1\x08\n\x0e\x43lientSnapshot\x12\x38\n\tclient_id\x18\x01 \x01(\tB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1dThe client id of this client.\x12=\n\x0b\x66ilesystems\x18\x02 \x03(\x0b\x32\x0b.FilesystemB\x1b\xe2\xfc\xe3\xc4\x01\x15\x12\x13Mounted Filesystems\x12\x37\n\nos_release\x18\x03 \x01(\tB#\xe2\xfc\xe3\xc4\x01\x1d\x12\x1bOS Distribution or release.\x12N\n\nos_version\x18\x04 \x01(\tB:\xe2\xfc\xe3\xc4\x01\x34\x12\x32The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.\x12\"\n\x04\x61rch\x18\x05 \x01(\tB\x14\xe2\xfc\xe3\xc4\x01\x0e\x12\x0c\x41rchitecture\x12\x45\n\x0cinstall_time\x18\x06 \x01(\x04\x42/\xe2\xfc\xe3\xc4\x01)\n\x0bRDFDatetime\x12\x1aWhen system was installed.\x12>\n\x0eknowledge_base\x18\x07 \x01(\x0b\x32\x0e.KnowledgeBaseB\x16\xe2\xfc\xe3\xc4\x01\x10\x12\x0eKnowledge Base\x12]\n\x11grr_configuration\x18\x08 \x03(\x0b\x32\x0f.StringMapEntryB1\xe2\xfc\xe3\xc4\x01+\x12)Running configuration for the GRR client.\x12[\n\x10library_versions\x18\t \x03(\x0b\x32\x0f.StringMapEntryB0\xe2\xfc\xe3\xc4\x01*\x12(Running library versions for the client.\x12.\n\x06kernel\x18\n \x01(\tB\x1e\xe2\xfc\xe3\xc4\x01\x18\x12\x16Kernel version string.\x12\x36\n\x07volumes\x18\x0b \x03(\x0b\x32\x07.VolumeB\x1c\xe2\xfc\xe3\xc4\x01\x16\x12\x14\x43lient disk volumes.\x12;\n\ninterfaces\x18\x0c \x03(\x0b\x32\n.InterfaceB\x1b\xe2\xfc\xe3\xc4\x01\x15\x12\x13Network interfaces.\x12K\n\rhardware_info\x18\r \x01(\x0b\x32\r.HardwareInfoB%\xe2\xfc\xe3\xc4\x01\x1f\x12\x1dVarious hardware information.\x12R\n\x0bmemory_size\x18\x0e \x01(\x04\x42=\xe2\xfc\xe3\xc4\x01\x37\n\x08\x42yteSize\x12+Amount of memory this client\'s machine has.\x12Q\n\x0e\x63loud_instance\x18\x0f \x01(\x0b\x32\x0e.CloudInstanceB)\xe2\xfc\xe3\xc4\x01#\x12!Information about cloud machines.\x12M\n\x0cstartup_info\x18\x10 \x01(\x0b\x32\x0c.StartupInfoB)\xe2\xfc\xe3\xc4\x01#\x12!Information about the GRR client.\"\xc1\x05\n\x0e\x43lientMetadata\x12(\n\x0b\x63\x65rtificate\x18\x01 \x01(\x0c\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFX509Cert\x12\x1a\n\x12\x66leetspeak_enabled\x18\x02 \x01(\x08\x12S\n\x04ping\x18\x03 \x01(\x04\x42\x45\xe2\xfc\xe3\xc4\x01?\n\x0bRDFDatetime\x12\x30The last time the server heard from this client.\x12s\n\x05\x63lock\x18\x04 \x01(\x04\x42\x64\xe2\xfc\xe3\xc4\x01^\n\x0bRDFDatetime\x12OThe last clock read on the client. (Can be used to estimate client clock skew).\x12\x1b\n\x02ip\x18\x05 \x01(\x0b\x32\x0f.NetworkAddress\x12U\n\x11last_foreman_time\x18\x06 \x01(\x04\x42:\xe2\xfc\xe3\xc4\x01\x34\n\x0bRDFDatetime\x12%The last time the foreman checked us.\x12Q\n\nfirst_seen\x18\x07 \x01(\x04\x42=\xe2\xfc\xe3\xc4\x01\x37\n\x0bRDFDatetime\x12(First time the client registered with us\x12Z\n\x14last_crash_timestamp\x18\x08 \x01(\x04\x42<\xe2\xfc\xe3\xc4\x01\x36\n\x0bRDFDatetime\x12\'Last time this client reported a crash.\x12|\n\x16startup_info_timestamp\x18\t \x01(\x04\x42\\\xe2\xfc\xe3\xc4\x01V\n\x0bRDFDatetime\x12GTimestamp for the latest change of startup information for this client.\"\xa2\x01\n\x0e\x43lientFullInfo\x12!\n\x08metadata\x18\x01 \x01(\x0b\x32\x0f.ClientMetadata\x12&\n\rlast_snapshot\x18\x02 \x01(\x0b\x32\x0f.ClientSnapshot\x12\'\n\x11last_startup_info\x18\x03 \x01(\x0b\x32\x0c.StartupInfo\x12\x1c\n\x06labels\x18\x04 \x03(\x0b\x32\x0c.ClientLabel\"\xe6\x01\n\x07GRRUser\x12\x10\n\x08username\x18\x04 \x01(\t\x12\x1b\n\x08password\x18\x01 \x01(\x0b\x32\t.Password\x12$\n\x07ui_mode\x18\x02 \x01(\x0e\x32\x13.GUISettings.UIMode\x12\x13\n\x0b\x63\x61nary_mode\x18\x03 \x01(\x08\x12$\n\tuser_type\x18\x05 \x01(\x0e\x32\x11.GRRUser.UserType\"K\n\x08UserType\x12\x12\n\x0eUSER_TYPE_NONE\x10\x00\x12\x16\n\x12USER_TYPE_STANDARD\x10\x01\x12\x13\n\x0fUSER_TYPE_ADMIN\x10\x02\"\xd6\x03\n\x0f\x41pprovalRequest\x12\x34\n\rapproval_type\x18\x01 \x01(\x0e\x32\x1d.ApprovalRequest.ApprovalType\x12\x13\n\x0b\x61pproval_id\x18\x02 \x01(\t\x12\x12\n\nsubject_id\x18\x03 \x01(\t\x12\x1a\n\x12requestor_username\x18\x04 \x01(\t\x12\x0e\n\x06reason\x18\x05 \x01(\t\x12&\n\ttimestamp\x18\x06 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12,\n\x0f\x65xpiration_time\x18\x07 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x18\n\x10\x65mail_message_id\x18\x0b \x01(\t\x12\x16\n\x0enotified_users\x18\x08 \x03(\t\x12\x1a\n\x12\x65mail_cc_addresses\x18\t \x03(\t\x12\x1e\n\x06grants\x18\n \x03(\x0b\x32\x0e.ApprovalGrant\"t\n\x0c\x41pprovalType\x12\x16\n\x12\x41PPROVAL_TYPE_NONE\x10\x00\x12\x18\n\x14\x41PPROVAL_TYPE_CLIENT\x10\x01\x12\x16\n\x12\x41PPROVAL_TYPE_HUNT\x10\x02\x12\x1a\n\x16\x41PPROVAL_TYPE_CRON_JOB\x10\x03\"Q\n\rApprovalGrant\x12\x18\n\x10grantor_username\x18\x01 \x01(\t\x12&\n\ttimestamp\x18\x06 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\"\xeb\x02\n\x08PathInfo\x12%\n\tpath_type\x18\x01 \x01(\x0e\x32\x12.PathInfo.PathType\x12\x12\n\ncomponents\x18\x02 \x03(\t\x12&\n\ttimestamp\x18\x08 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x36\n\x19last_stat_entry_timestamp\x18\x03 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x36\n\x19last_hash_entry_timestamp\x18\x07 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x11\n\tdirectory\x18\x04 \x01(\x08\x12\x1e\n\nstat_entry\x18\x05 \x01(\x0b\x32\n.StatEntry\x12\x19\n\nhash_entry\x18\x06 \x01(\x0b\x32\x05.Hash\">\n\x08PathType\x12\t\n\x05UNSET\x10\x00\x12\x06\n\x02OS\x10\x01\x12\x07\n\x03TSK\x10\x02\x12\x0c\n\x08REGISTRY\x10\x03\x12\x08\n\x04TEMP\x10\x04\"\x9a\x03\n\x0fObjectReference\x12-\n\x0ereference_type\x18\x01 \x01(\x0e\x32\x15.ObjectReference.Type\x12 \n\x06\x63lient\x18\x02 \x01(\x0b\x32\x10.ClientReference\x12\x1c\n\x04hunt\x18\x03 \x01(\x0b\x32\x0e.HuntReference\x12\x1c\n\x04\x66low\x18\x04 \x01(\x0b\x32\x0e.FlowReference\x12#\n\x08\x63ron_job\x18\x05 \x01(\x0b\x32\x11.CronJobReference\x12#\n\x08vfs_file\x18\x06 \x01(\x0b\x32\x11.VfsFileReference\x12\x33\n\x10\x61pproval_request\x18\x07 \x01(\x0b\x32\x19.ApprovalRequestReference\"c\n\x04Type\x12\t\n\x05UNSET\x10\x00\x12\n\n\x06\x43LIENT\x10\x01\x12\x08\n\x04HUNT\x10\x02\x12\x08\n\x04\x46LOW\x10\x03\x12\x0c\n\x08\x43RON_JOB\x10\x04\x12\x0c\n\x08VFS_FILE\x10\x05\x12\x14\n\x10\x41PPROVAL_REQUEST\x10\x06:\x16\xda\xfc\xe3\xc4\x01\x10\x12\x0ereference_type\"$\n\x0f\x43lientReference\x12\x11\n\tclient_id\x18\x01 \x01(\t\" \n\rHuntReference\x12\x0f\n\x07hunt_id\x18\x01 \x01(\t\"\'\n\x10\x43ronJobReference\x12\x13\n\x0b\x63ron_job_id\x18\x01 \x01(\t\"\x96\x01\n\rFlowReference\x12?\n\x07\x66low_id\x18\x01 \x01(\tB.\xe2\xfc\xe3\xc4\x01(\x12&The session id of the referenced flow.\x12\x44\n\tclient_id\x18\x02 \x01(\tB1\xe2\xfc\xe3\xc4\x01+\x12)The client id the referenced flow ran on.\"e\n\x10VfsFileReference\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12%\n\tpath_type\x18\x03 \x01(\x0e\x32\x12.PathInfo.PathType\x12\x17\n\x0fpath_components\x18\x02 \x03(\t\"\x95\x01\n\x18\x41pprovalRequestReference\x12\x34\n\rapproval_type\x18\x01 \x01(\x0e\x32\x1d.ApprovalRequest.ApprovalType\x12\x13\n\x0b\x61pproval_id\x18\x02 \x01(\t\x12\x12\n\nsubject_id\x18\x03 \x01(\t\x12\x1a\n\x12requestor_username\x18\x04 \x01(\t\"\xdc\x06\n\x10UserNotification\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x31\n\x11notification_type\x18\x02 \x01(\x0e\x32\x16.UserNotification.Type\x12&\n\x05state\x18\x03 \x01(\x0e\x32\x17.UserNotification.State\x12&\n\ttimestamp\x18\x04 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x0f\n\x07message\x18\x05 \x01(\t\x12#\n\treference\x18\x06 \x01(\x0b\x32\x10.ObjectReference\"\xb8\x04\n\x04Type\x12\x0e\n\nTYPE_UNSET\x10\x00\x12\x1c\n\x18TYPE_CLIENT_INTERROGATED\x10\x01\x12\"\n\x1eTYPE_CLIENT_APPROVAL_REQUESTED\x10\x02\x12 \n\x1cTYPE_HUNT_APPROVAL_REQUESTED\x10\x03\x12$\n TYPE_CRON_JOB_APPROVAL_REQUESTED\x10\x04\x12 \n\x1cTYPE_CLIENT_APPROVAL_GRANTED\x10\x05\x12\x1e\n\x1aTYPE_HUNT_APPROVAL_GRANTED\x10\x06\x12\"\n\x1eTYPE_CRON_JOB_APPROVAL_GRANTED\x10\x07\x12\x1b\n\x17TYPE_VFS_FILE_COLLECTED\x10\x08\x12#\n\x1fTYPE_VFS_FILE_COLLECTION_FAILED\x10\t\x12\x15\n\x11TYPE_HUNT_STOPPED\x10\n\x12\x1f\n\x1bTYPE_FILE_ARCHIVE_GENERATED\x10\x0b\x12\'\n#TYPE_FILE_ARCHIVE_GENERATION_FAILED\x10\x0c\x12\x1b\n\x17TYPE_FLOW_RUN_COMPLETED\x10\r\x12\x18\n\x14TYPE_FLOW_RUN_FAILED\x10\x0e\x12%\n!TYPE_VFS_LIST_DIRECTORY_COMPLETED\x10\x0f\x12/\n+TYPE_VFS_RECURSIVE_LIST_DIRECTORY_COMPLETED\x10\x10\"B\n\x05State\x12\x0f\n\x0bSTATE_UNSET\x10\x00\x12\x11\n\rSTATE_PENDING\x10\x01\x12\x15\n\x11STATE_NOT_PENDING\x10\x02\"\xde\x01\n\x15MessageHandlerRequest\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x14\n\x0chandler_name\x18\x02 \x01(\t\x12&\n\ttimestamp\x18\x03 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x12\n\nrequest_id\x18\x04 \x01(\x04\x12)\n\x0cleased_until\x18\x05 \x01(\x04\x42\x13\xe2\xfc\xe3\xc4\x01\r\n\x0bRDFDatetime\x12\x11\n\tleased_by\x18\x06 \x01(\t\x12\"\n\x07request\x18\x07 \x01(\x0b\x32\x11.EmbeddedRDFValue')
  ,
  dependencies=[grr__response__proto_dot_jobs__pb2.DESCRIPTOR,grr__response__proto_dot_knowledge__base__pb2.DESCRIPTOR,grr__response__proto_dot_semantic__pb2.DESCRIPTOR,grr__response__proto_dot_sysinfo__pb2.DESCRIPTOR,grr__response__proto_dot_user__pb2.DESCRIPTOR,])



_GRRUSER_USERTYPE = _descriptor.EnumDescriptor(
  name='UserType',
  full_name='GRRUser.UserType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='USER_TYPE_NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USER_TYPE_STANDARD', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USER_TYPE_ADMIN', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2502,
  serialized_end=2577,
)
_sym_db.RegisterEnumDescriptor(_GRRUSER_USERTYPE)

_APPROVALREQUEST_APPROVALTYPE = _descriptor.EnumDescriptor(
  name='ApprovalType',
  full_name='ApprovalRequest.ApprovalType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='APPROVAL_TYPE_NONE', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='APPROVAL_TYPE_CLIENT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='APPROVAL_TYPE_HUNT', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='APPROVAL_TYPE_CRON_JOB', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2934,
  serialized_end=3050,
)
_sym_db.RegisterEnumDescriptor(_APPROVALREQUEST_APPROVALTYPE)

_PATHINFO_PATHTYPE = _descriptor.EnumDescriptor(
  name='PathType',
  full_name='PathInfo.PathType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSET', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OS', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TSK', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGISTRY', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEMP', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3437,
  serialized_end=3499,
)
_sym_db.RegisterEnumDescriptor(_PATHINFO_PATHTYPE)

_OBJECTREFERENCE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='ObjectReference.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSET', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HUNT', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FLOW', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CRON_JOB', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VFS_FILE', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='APPROVAL_REQUEST', index=6, number=6,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3789,
  serialized_end=3888,
)
_sym_db.RegisterEnumDescriptor(_OBJECTREFERENCE_TYPE)

_USERNOTIFICATION_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='UserNotification.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNSET', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_CLIENT_INTERROGATED', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_CLIENT_APPROVAL_REQUESTED', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_HUNT_APPROVAL_REQUESTED', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_CRON_JOB_APPROVAL_REQUESTED', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_CLIENT_APPROVAL_GRANTED', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_HUNT_APPROVAL_GRANTED', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_CRON_JOB_APPROVAL_GRANTED', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_VFS_FILE_COLLECTED', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_VFS_FILE_COLLECTION_FAILED', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_HUNT_STOPPED', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_FILE_ARCHIVE_GENERATED', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_FILE_ARCHIVE_GENERATION_FAILED', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_FLOW_RUN_COMPLETED', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_FLOW_RUN_FAILED', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_VFS_LIST_DIRECTORY_COMPLETED', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TYPE_VFS_RECURSIVE_LIST_DIRECTORY_COMPLETED', index=16, number=16,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4660,
  serialized_end=5228,
)
_sym_db.RegisterEnumDescriptor(_USERNOTIFICATION_TYPE)

_USERNOTIFICATION_STATE = _descriptor.EnumDescriptor(
  name='State',
  full_name='UserNotification.State',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STATE_UNSET', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STATE_PENDING', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='STATE_NOT_PENDING', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5230,
  serialized_end=5296,
)
_sym_db.RegisterEnumDescriptor(_USERNOTIFICATION_STATE)


_CLIENTLABEL = _descriptor.Descriptor(
  name='ClientLabel',
  full_name='ClientLabel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='ClientLabel.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='owner', full_name='ClientLabel.owner', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Username of the user who added the label.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=208,
  serialized_end=301,
)


_STRINGMAPENTRY = _descriptor.Descriptor(
  name='StringMapEntry',
  full_name='StringMapEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='StringMapEntry.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='StringMapEntry.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=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=303,
  serialized_end=347,
)


_CLIENTSNAPSHOT = _descriptor.Descriptor(
  name='ClientSnapshot',
  full_name='ClientSnapshot',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='ClientSnapshot.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035The client id of this client.'))),
    _descriptor.FieldDescriptor(
      name='filesystems', full_name='ClientSnapshot.filesystems', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023Mounted Filesystems'))),
    _descriptor.FieldDescriptor(
      name='os_release', full_name='ClientSnapshot.os_release', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033OS Distribution or release.'))),
    _descriptor.FieldDescriptor(
      name='os_version', full_name='ClientSnapshot.os_version', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.'))),
    _descriptor.FieldDescriptor(
      name='arch', full_name='ClientSnapshot.arch', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014Architecture'))),
    _descriptor.FieldDescriptor(
      name='install_time', full_name='ClientSnapshot.install_time', index=5,
      number=6, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\013RDFDatetime\022\032When system was installed.'))),
    _descriptor.FieldDescriptor(
      name='knowledge_base', full_name='ClientSnapshot.knowledge_base', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\020\022\016Knowledge Base'))),
    _descriptor.FieldDescriptor(
      name='grr_configuration', full_name='ClientSnapshot.grr_configuration', index=7,
      number=8, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Running configuration for the GRR client.'))),
    _descriptor.FieldDescriptor(
      name='library_versions', full_name='ClientSnapshot.library_versions', index=8,
      number=9, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(Running library versions for the client.'))),
    _descriptor.FieldDescriptor(
      name='kernel', full_name='ClientSnapshot.kernel', index=9,
      number=10, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\030\022\026Kernel version string.'))),
    _descriptor.FieldDescriptor(
      name='volumes', full_name='ClientSnapshot.volumes', index=10,
      number=11, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\026\022\024Client disk volumes.'))),
    _descriptor.FieldDescriptor(
      name='interfaces', full_name='ClientSnapshot.interfaces', index=11,
      number=12, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023Network interfaces.'))),
    _descriptor.FieldDescriptor(
      name='hardware_info', full_name='ClientSnapshot.hardware_info', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035Various hardware information.'))),
    _descriptor.FieldDescriptor(
      name='memory_size', full_name='ClientSnapshot.memory_size', index=13,
      number=14, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\010ByteSize\022+Amount of memory this client\'s machine has.'))),
    _descriptor.FieldDescriptor(
      name='cloud_instance', full_name='ClientSnapshot.cloud_instance', index=14,
      number=15, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Information about cloud machines.'))),
    _descriptor.FieldDescriptor(
      name='startup_info', full_name='ClientSnapshot.startup_info', index=15,
      number=16, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Information about the GRR client.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=350,
  serialized_end=1471,
)


_CLIENTMETADATA = _descriptor.Descriptor(
  name='ClientMetadata',
  full_name='ClientMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='certificate', full_name='ClientMetadata.certificate', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFX509Cert'))),
    _descriptor.FieldDescriptor(
      name='fleetspeak_enabled', full_name='ClientMetadata.fleetspeak_enabled', index=1,
      number=2, 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='ping', full_name='ClientMetadata.ping', index=2,
      number=3, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001?\n\013RDFDatetime\0220The last time the server heard from this client.'))),
    _descriptor.FieldDescriptor(
      name='clock', full_name='ClientMetadata.clock', index=3,
      number=4, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001^\n\013RDFDatetime\022OThe last clock read on the client. (Can be used to estimate client clock skew).'))),
    _descriptor.FieldDescriptor(
      name='ip', full_name='ClientMetadata.ip', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='last_foreman_time', full_name='ClientMetadata.last_foreman_time', index=5,
      number=6, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\n\013RDFDatetime\022%The last time the foreman checked us.'))),
    _descriptor.FieldDescriptor(
      name='first_seen', full_name='ClientMetadata.first_seen', index=6,
      number=7, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\013RDFDatetime\022(First time the client registered with us'))),
    _descriptor.FieldDescriptor(
      name='last_crash_timestamp', full_name='ClientMetadata.last_crash_timestamp', index=7,
      number=8, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\n\013RDFDatetime\022\'Last time this client reported a crash.'))),
    _descriptor.FieldDescriptor(
      name='startup_info_timestamp', full_name='ClientMetadata.startup_info_timestamp', index=8,
      number=9, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001V\n\013RDFDatetime\022GTimestamp for the latest change of startup information for this client.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1474,
  serialized_end=2179,
)


_CLIENTFULLINFO = _descriptor.Descriptor(
  name='ClientFullInfo',
  full_name='ClientFullInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metadata', full_name='ClientFullInfo.metadata', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='last_snapshot', full_name='ClientFullInfo.last_snapshot', 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='last_startup_info', full_name='ClientFullInfo.last_startup_info', 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),
    _descriptor.FieldDescriptor(
      name='labels', full_name='ClientFullInfo.labels', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2182,
  serialized_end=2344,
)


_GRRUSER = _descriptor.Descriptor(
  name='GRRUser',
  full_name='GRRUser',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='username', full_name='GRRUser.username', index=0,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='password', full_name='GRRUser.password', index=1,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='ui_mode', full_name='GRRUser.ui_mode', index=2,
      number=2, 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='canary_mode', full_name='GRRUser.canary_mode', index=3,
      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='user_type', full_name='GRRUser.user_type', index=4,
      number=5, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GRRUSER_USERTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2347,
  serialized_end=2577,
)


_APPROVALREQUEST = _descriptor.Descriptor(
  name='ApprovalRequest',
  full_name='ApprovalRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='approval_type', full_name='ApprovalRequest.approval_type', index=0,
      number=1, 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='approval_id', full_name='ApprovalRequest.approval_id', 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='subject_id', full_name='ApprovalRequest.subject_id', 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='requestor_username', full_name='ApprovalRequest.requestor_username', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='reason', full_name='ApprovalRequest.reason', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='ApprovalRequest.timestamp', index=5,
      number=6, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='expiration_time', full_name='ApprovalRequest.expiration_time', index=6,
      number=7, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='email_message_id', full_name='ApprovalRequest.email_message_id', index=7,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='notified_users', full_name='ApprovalRequest.notified_users', index=8,
      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='email_cc_addresses', full_name='ApprovalRequest.email_cc_addresses', index=9,
      number=9, 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='grants', full_name='ApprovalRequest.grants', index=10,
      number=10, 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=[],
  enum_types=[
    _APPROVALREQUEST_APPROVALTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2580,
  serialized_end=3050,
)


_APPROVALGRANT = _descriptor.Descriptor(
  name='ApprovalGrant',
  full_name='ApprovalGrant',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='grantor_username', full_name='ApprovalGrant.grantor_username', 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='timestamp', full_name='ApprovalGrant.timestamp', index=1,
      number=6, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3052,
  serialized_end=3133,
)


_PATHINFO = _descriptor.Descriptor(
  name='PathInfo',
  full_name='PathInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path_type', full_name='PathInfo.path_type', index=0,
      number=1, 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='components', full_name='PathInfo.components', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='PathInfo.timestamp', index=2,
      number=8, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='last_stat_entry_timestamp', full_name='PathInfo.last_stat_entry_timestamp', index=3,
      number=3, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='last_hash_entry_timestamp', full_name='PathInfo.last_hash_entry_timestamp', index=4,
      number=7, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='directory', full_name='PathInfo.directory', index=5,
      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),
    _descriptor.FieldDescriptor(
      name='stat_entry', full_name='PathInfo.stat_entry', index=6,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='hash_entry', full_name='PathInfo.hash_entry', index=7,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _PATHINFO_PATHTYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3136,
  serialized_end=3499,
)


_OBJECTREFERENCE = _descriptor.Descriptor(
  name='ObjectReference',
  full_name='ObjectReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='reference_type', full_name='ObjectReference.reference_type', index=0,
      number=1, 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='client', full_name='ObjectReference.client', 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='hunt', full_name='ObjectReference.hunt', 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),
    _descriptor.FieldDescriptor(
      name='flow', full_name='ObjectReference.flow', 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),
    _descriptor.FieldDescriptor(
      name='cron_job', full_name='ObjectReference.cron_job', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='vfs_file', full_name='ObjectReference.vfs_file', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='approval_request', full_name='ObjectReference.approval_request', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _OBJECTREFERENCE_TYPE,
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\020\022\016reference_type')),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3502,
  serialized_end=3912,
)


_CLIENTREFERENCE = _descriptor.Descriptor(
  name='ClientReference',
  full_name='ClientReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='ClientReference.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3914,
  serialized_end=3950,
)


_HUNTREFERENCE = _descriptor.Descriptor(
  name='HuntReference',
  full_name='HuntReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hunt_id', full_name='HuntReference.hunt_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3952,
  serialized_end=3984,
)


_CRONJOBREFERENCE = _descriptor.Descriptor(
  name='CronJobReference',
  full_name='CronJobReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cron_job_id', full_name='CronJobReference.cron_job_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3986,
  serialized_end=4025,
)


_FLOWREFERENCE = _descriptor.Descriptor(
  name='FlowReference',
  full_name='FlowReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='flow_id', full_name='FlowReference.flow_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The session id of the referenced flow.'))),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='FlowReference.client_id', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The client id the referenced flow ran on.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4028,
  serialized_end=4178,
)


_VFSFILEREFERENCE = _descriptor.Descriptor(
  name='VfsFileReference',
  full_name='VfsFileReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='VfsFileReference.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='path_type', full_name='VfsFileReference.path_type', index=1,
      number=3, 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='path_components', full_name='VfsFileReference.path_components', index=2,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4180,
  serialized_end=4281,
)


_APPROVALREQUESTREFERENCE = _descriptor.Descriptor(
  name='ApprovalRequestReference',
  full_name='ApprovalRequestReference',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='approval_type', full_name='ApprovalRequestReference.approval_type', index=0,
      number=1, 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='approval_id', full_name='ApprovalRequestReference.approval_id', 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='subject_id', full_name='ApprovalRequestReference.subject_id', 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='requestor_username', full_name='ApprovalRequestReference.requestor_username', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4284,
  serialized_end=4433,
)


_USERNOTIFICATION = _descriptor.Descriptor(
  name='UserNotification',
  full_name='UserNotification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='username', full_name='UserNotification.username', 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='notification_type', full_name='UserNotification.notification_type', index=1,
      number=2, 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='state', full_name='UserNotification.state', index=2,
      number=3, 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='timestamp', full_name='UserNotification.timestamp', index=3,
      number=4, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='message', full_name='UserNotification.message', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='reference', full_name='UserNotification.reference', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _USERNOTIFICATION_TYPE,
    _USERNOTIFICATION_STATE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4436,
  serialized_end=5296,
)


_MESSAGEHANDLERREQUEST = _descriptor.Descriptor(
  name='MessageHandlerRequest',
  full_name='MessageHandlerRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_id', full_name='MessageHandlerRequest.client_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='handler_name', full_name='MessageHandlerRequest.handler_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='MessageHandlerRequest.timestamp', index=2,
      number=3, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='request_id', full_name='MessageHandlerRequest.request_id', index=3,
      number=4, type=4, cpp_type=4, 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='leased_until', full_name='MessageHandlerRequest.leased_until', index=4,
      number=5, type=4, cpp_type=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))),
    _descriptor.FieldDescriptor(
      name='leased_by', full_name='MessageHandlerRequest.leased_by', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='request', full_name='MessageHandlerRequest.request', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5299,
  serialized_end=5521,
)

_CLIENTSNAPSHOT.fields_by_name['filesystems'].message_type = grr__response__proto_dot_sysinfo__pb2._FILESYSTEM
_CLIENTSNAPSHOT.fields_by_name['knowledge_base'].message_type = grr__response__proto_dot_knowledge__base__pb2._KNOWLEDGEBASE
_CLIENTSNAPSHOT.fields_by_name['grr_configuration'].message_type = _STRINGMAPENTRY
_CLIENTSNAPSHOT.fields_by_name['library_versions'].message_type = _STRINGMAPENTRY
_CLIENTSNAPSHOT.fields_by_name['volumes'].message_type = grr__response__proto_dot_sysinfo__pb2._VOLUME
_CLIENTSNAPSHOT.fields_by_name['interfaces'].message_type = grr__response__proto_dot_jobs__pb2._INTERFACE
_CLIENTSNAPSHOT.fields_by_name['hardware_info'].message_type = grr__response__proto_dot_sysinfo__pb2._HARDWAREINFO
_CLIENTSNAPSHOT.fields_by_name['cloud_instance'].message_type = grr__response__proto_dot_jobs__pb2._CLOUDINSTANCE
_CLIENTSNAPSHOT.fields_by_name['startup_info'].message_type = grr__response__proto_dot_jobs__pb2._STARTUPINFO
_CLIENTMETADATA.fields_by_name['ip'].message_type = grr__response__proto_dot_jobs__pb2._NETWORKADDRESS
_CLIENTFULLINFO.fields_by_name['metadata'].message_type = _CLIENTMETADATA
_CLIENTFULLINFO.fields_by_name['last_snapshot'].message_type = _CLIENTSNAPSHOT
_CLIENTFULLINFO.fields_by_name['last_startup_info'].message_type = grr__response__proto_dot_jobs__pb2._STARTUPINFO
_CLIENTFULLINFO.fields_by_name['labels'].message_type = _CLIENTLABEL
_GRRUSER.fields_by_name['password'].message_type = grr__response__proto_dot_jobs__pb2._PASSWORD
_GRRUSER.fields_by_name['ui_mode'].enum_type = grr__response__proto_dot_user__pb2._GUISETTINGS_UIMODE
_GRRUSER.fields_by_name['user_type'].enum_type = _GRRUSER_USERTYPE
_GRRUSER_USERTYPE.containing_type = _GRRUSER
_APPROVALREQUEST.fields_by_name['approval_type'].enum_type = _APPROVALREQUEST_APPROVALTYPE
_APPROVALREQUEST.fields_by_name['grants'].message_type = _APPROVALGRANT
_APPROVALREQUEST_APPROVALTYPE.containing_type = _APPROVALREQUEST
_PATHINFO.fields_by_name['path_type'].enum_type = _PATHINFO_PATHTYPE
_PATHINFO.fields_by_name['stat_entry'].message_type = grr__response__proto_dot_jobs__pb2._STATENTRY
_PATHINFO.fields_by_name['hash_entry'].message_type = grr__response__proto_dot_jobs__pb2._HASH
_PATHINFO_PATHTYPE.containing_type = _PATHINFO
_OBJECTREFERENCE.fields_by_name['reference_type'].enum_type = _OBJECTREFERENCE_TYPE
_OBJECTREFERENCE.fields_by_name['client'].message_type = _CLIENTREFERENCE
_OBJECTREFERENCE.fields_by_name['hunt'].message_type = _HUNTREFERENCE
_OBJECTREFERENCE.fields_by_name['flow'].message_type = _FLOWREFERENCE
_OBJECTREFERENCE.fields_by_name['cron_job'].message_type = _CRONJOBREFERENCE
_OBJECTREFERENCE.fields_by_name['vfs_file'].message_type = _VFSFILEREFERENCE
_OBJECTREFERENCE.fields_by_name['approval_request'].message_type = _APPROVALREQUESTREFERENCE
_OBJECTREFERENCE_TYPE.containing_type = _OBJECTREFERENCE
_VFSFILEREFERENCE.fields_by_name['path_type'].enum_type = _PATHINFO_PATHTYPE
_APPROVALREQUESTREFERENCE.fields_by_name['approval_type'].enum_type = _APPROVALREQUEST_APPROVALTYPE
_USERNOTIFICATION.fields_by_name['notification_type'].enum_type = _USERNOTIFICATION_TYPE
_USERNOTIFICATION.fields_by_name['state'].enum_type = _USERNOTIFICATION_STATE
_USERNOTIFICATION.fields_by_name['reference'].message_type = _OBJECTREFERENCE
_USERNOTIFICATION_TYPE.containing_type = _USERNOTIFICATION
_USERNOTIFICATION_STATE.containing_type = _USERNOTIFICATION
_MESSAGEHANDLERREQUEST.fields_by_name['request'].message_type = grr__response__proto_dot_jobs__pb2._EMBEDDEDRDFVALUE
DESCRIPTOR.message_types_by_name['ClientLabel'] = _CLIENTLABEL
DESCRIPTOR.message_types_by_name['StringMapEntry'] = _STRINGMAPENTRY
DESCRIPTOR.message_types_by_name['ClientSnapshot'] = _CLIENTSNAPSHOT
DESCRIPTOR.message_types_by_name['ClientMetadata'] = _CLIENTMETADATA
DESCRIPTOR.message_types_by_name['ClientFullInfo'] = _CLIENTFULLINFO
DESCRIPTOR.message_types_by_name['GRRUser'] = _GRRUSER
DESCRIPTOR.message_types_by_name['ApprovalRequest'] = _APPROVALREQUEST
DESCRIPTOR.message_types_by_name['ApprovalGrant'] = _APPROVALGRANT
DESCRIPTOR.message_types_by_name['PathInfo'] = _PATHINFO
DESCRIPTOR.message_types_by_name['ObjectReference'] = _OBJECTREFERENCE
DESCRIPTOR.message_types_by_name['ClientReference'] = _CLIENTREFERENCE
DESCRIPTOR.message_types_by_name['HuntReference'] = _HUNTREFERENCE
DESCRIPTOR.message_types_by_name['CronJobReference'] = _CRONJOBREFERENCE
DESCRIPTOR.message_types_by_name['FlowReference'] = _FLOWREFERENCE
DESCRIPTOR.message_types_by_name['VfsFileReference'] = _VFSFILEREFERENCE
DESCRIPTOR.message_types_by_name['ApprovalRequestReference'] = _APPROVALREQUESTREFERENCE
DESCRIPTOR.message_types_by_name['UserNotification'] = _USERNOTIFICATION
DESCRIPTOR.message_types_by_name['MessageHandlerRequest'] = _MESSAGEHANDLERREQUEST
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ClientLabel = _reflection.GeneratedProtocolMessageType('ClientLabel', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTLABEL,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ClientLabel)
  ))
_sym_db.RegisterMessage(ClientLabel)

StringMapEntry = _reflection.GeneratedProtocolMessageType('StringMapEntry', (_message.Message,), dict(
  DESCRIPTOR = _STRINGMAPENTRY,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:StringMapEntry)
  ))
_sym_db.RegisterMessage(StringMapEntry)

ClientSnapshot = _reflection.GeneratedProtocolMessageType('ClientSnapshot', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTSNAPSHOT,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ClientSnapshot)
  ))
_sym_db.RegisterMessage(ClientSnapshot)

ClientMetadata = _reflection.GeneratedProtocolMessageType('ClientMetadata', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTMETADATA,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ClientMetadata)
  ))
_sym_db.RegisterMessage(ClientMetadata)

ClientFullInfo = _reflection.GeneratedProtocolMessageType('ClientFullInfo', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTFULLINFO,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ClientFullInfo)
  ))
_sym_db.RegisterMessage(ClientFullInfo)

GRRUser = _reflection.GeneratedProtocolMessageType('GRRUser', (_message.Message,), dict(
  DESCRIPTOR = _GRRUSER,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:GRRUser)
  ))
_sym_db.RegisterMessage(GRRUser)

ApprovalRequest = _reflection.GeneratedProtocolMessageType('ApprovalRequest', (_message.Message,), dict(
  DESCRIPTOR = _APPROVALREQUEST,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ApprovalRequest)
  ))
_sym_db.RegisterMessage(ApprovalRequest)

ApprovalGrant = _reflection.GeneratedProtocolMessageType('ApprovalGrant', (_message.Message,), dict(
  DESCRIPTOR = _APPROVALGRANT,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ApprovalGrant)
  ))
_sym_db.RegisterMessage(ApprovalGrant)

PathInfo = _reflection.GeneratedProtocolMessageType('PathInfo', (_message.Message,), dict(
  DESCRIPTOR = _PATHINFO,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:PathInfo)
  ))
_sym_db.RegisterMessage(PathInfo)

ObjectReference = _reflection.GeneratedProtocolMessageType('ObjectReference', (_message.Message,), dict(
  DESCRIPTOR = _OBJECTREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ObjectReference)
  ))
_sym_db.RegisterMessage(ObjectReference)

ClientReference = _reflection.GeneratedProtocolMessageType('ClientReference', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ClientReference)
  ))
_sym_db.RegisterMessage(ClientReference)

HuntReference = _reflection.GeneratedProtocolMessageType('HuntReference', (_message.Message,), dict(
  DESCRIPTOR = _HUNTREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:HuntReference)
  ))
_sym_db.RegisterMessage(HuntReference)

CronJobReference = _reflection.GeneratedProtocolMessageType('CronJobReference', (_message.Message,), dict(
  DESCRIPTOR = _CRONJOBREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:CronJobReference)
  ))
_sym_db.RegisterMessage(CronJobReference)

FlowReference = _reflection.GeneratedProtocolMessageType('FlowReference', (_message.Message,), dict(
  DESCRIPTOR = _FLOWREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:FlowReference)
  ))
_sym_db.RegisterMessage(FlowReference)

VfsFileReference = _reflection.GeneratedProtocolMessageType('VfsFileReference', (_message.Message,), dict(
  DESCRIPTOR = _VFSFILEREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:VfsFileReference)
  ))
_sym_db.RegisterMessage(VfsFileReference)

ApprovalRequestReference = _reflection.GeneratedProtocolMessageType('ApprovalRequestReference', (_message.Message,), dict(
  DESCRIPTOR = _APPROVALREQUESTREFERENCE,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:ApprovalRequestReference)
  ))
_sym_db.RegisterMessage(ApprovalRequestReference)

UserNotification = _reflection.GeneratedProtocolMessageType('UserNotification', (_message.Message,), dict(
  DESCRIPTOR = _USERNOTIFICATION,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:UserNotification)
  ))
_sym_db.RegisterMessage(UserNotification)

MessageHandlerRequest = _reflection.GeneratedProtocolMessageType('MessageHandlerRequest', (_message.Message,), dict(
  DESCRIPTOR = _MESSAGEHANDLERREQUEST,
  __module__ = 'grr_response_proto.objects_pb2'
  # @@protoc_insertion_point(class_scope:MessageHandlerRequest)
  ))
_sym_db.RegisterMessage(MessageHandlerRequest)


_CLIENTLABEL.fields_by_name['owner'].has_options = True
_CLIENTLABEL.fields_by_name['owner']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Username of the user who added the label.'))
_CLIENTSNAPSHOT.fields_by_name['client_id'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035The client id of this client.'))
_CLIENTSNAPSHOT.fields_by_name['filesystems'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['filesystems']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023Mounted Filesystems'))
_CLIENTSNAPSHOT.fields_by_name['os_release'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['os_release']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033OS Distribution or release.'))
_CLIENTSNAPSHOT.fields_by_name['os_version'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['os_version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222The OS version ID e.g. 6.1.7601SP1, 10.9.2, 14.04.'))
_CLIENTSNAPSHOT.fields_by_name['arch'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['arch']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\016\022\014Architecture'))
_CLIENTSNAPSHOT.fields_by_name['install_time'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['install_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001)\n\013RDFDatetime\022\032When system was installed.'))
_CLIENTSNAPSHOT.fields_by_name['knowledge_base'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['knowledge_base']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\020\022\016Knowledge Base'))
_CLIENTSNAPSHOT.fields_by_name['grr_configuration'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['grr_configuration']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)Running configuration for the GRR client.'))
_CLIENTSNAPSHOT.fields_by_name['library_versions'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['library_versions']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001*\022(Running library versions for the client.'))
_CLIENTSNAPSHOT.fields_by_name['kernel'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['kernel']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\030\022\026Kernel version string.'))
_CLIENTSNAPSHOT.fields_by_name['volumes'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['volumes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\026\022\024Client disk volumes.'))
_CLIENTSNAPSHOT.fields_by_name['interfaces'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['interfaces']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023Network interfaces.'))
_CLIENTSNAPSHOT.fields_by_name['hardware_info'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['hardware_info']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\037\022\035Various hardware information.'))
_CLIENTSNAPSHOT.fields_by_name['memory_size'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['memory_size']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\010ByteSize\022+Amount of memory this client\'s machine has.'))
_CLIENTSNAPSHOT.fields_by_name['cloud_instance'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['cloud_instance']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Information about cloud machines.'))
_CLIENTSNAPSHOT.fields_by_name['startup_info'].has_options = True
_CLIENTSNAPSHOT.fields_by_name['startup_info']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001#\022!Information about the GRR client.'))
_CLIENTMETADATA.fields_by_name['certificate'].has_options = True
_CLIENTMETADATA.fields_by_name['certificate']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFX509Cert'))
_CLIENTMETADATA.fields_by_name['ping'].has_options = True
_CLIENTMETADATA.fields_by_name['ping']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001?\n\013RDFDatetime\0220The last time the server heard from this client.'))
_CLIENTMETADATA.fields_by_name['clock'].has_options = True
_CLIENTMETADATA.fields_by_name['clock']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001^\n\013RDFDatetime\022OThe last clock read on the client. (Can be used to estimate client clock skew).'))
_CLIENTMETADATA.fields_by_name['last_foreman_time'].has_options = True
_CLIENTMETADATA.fields_by_name['last_foreman_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\n\013RDFDatetime\022%The last time the foreman checked us.'))
_CLIENTMETADATA.fields_by_name['first_seen'].has_options = True
_CLIENTMETADATA.fields_by_name['first_seen']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0017\n\013RDFDatetime\022(First time the client registered with us'))
_CLIENTMETADATA.fields_by_name['last_crash_timestamp'].has_options = True
_CLIENTMETADATA.fields_by_name['last_crash_timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\n\013RDFDatetime\022\'Last time this client reported a crash.'))
_CLIENTMETADATA.fields_by_name['startup_info_timestamp'].has_options = True
_CLIENTMETADATA.fields_by_name['startup_info_timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001V\n\013RDFDatetime\022GTimestamp for the latest change of startup information for this client.'))
_APPROVALREQUEST.fields_by_name['timestamp'].has_options = True
_APPROVALREQUEST.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_APPROVALREQUEST.fields_by_name['expiration_time'].has_options = True
_APPROVALREQUEST.fields_by_name['expiration_time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_APPROVALGRANT.fields_by_name['timestamp'].has_options = True
_APPROVALGRANT.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_PATHINFO.fields_by_name['timestamp'].has_options = True
_PATHINFO.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_PATHINFO.fields_by_name['last_stat_entry_timestamp'].has_options = True
_PATHINFO.fields_by_name['last_stat_entry_timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_PATHINFO.fields_by_name['last_hash_entry_timestamp'].has_options = True
_PATHINFO.fields_by_name['last_hash_entry_timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_OBJECTREFERENCE.has_options = True
_OBJECTREFERENCE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\332\374\343\304\001\020\022\016reference_type'))
_FLOWREFERENCE.fields_by_name['flow_id'].has_options = True
_FLOWREFERENCE.fields_by_name['flow_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&The session id of the referenced flow.'))
_FLOWREFERENCE.fields_by_name['client_id'].has_options = True
_FLOWREFERENCE.fields_by_name['client_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)The client id the referenced flow ran on.'))
_USERNOTIFICATION.fields_by_name['timestamp'].has_options = True
_USERNOTIFICATION.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_MESSAGEHANDLERREQUEST.fields_by_name['timestamp'].has_options = True
_MESSAGEHANDLERREQUEST.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
_MESSAGEHANDLERREQUEST.fields_by_name['leased_until'].has_options = True
_MESSAGEHANDLERREQUEST.fields_by_name['leased_until']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\r\n\013RDFDatetime'))
# @@protoc_insertion_point(module_scope)
