# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grr/proto/artifact.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.proto import jobs_pb2 as grr_dot_proto_dot_jobs__pb2
from grr.proto import semantic_pb2 as grr_dot_proto_dot_semantic__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='grr/proto/artifact.proto',
  package='',
  syntax='proto2',
  serialized_pb=_b('\n\x18grr/proto/artifact.proto\x1a\x14grr/proto/jobs.proto\x1a\x18grr/proto/semantic.proto\"\x9c\x06\n\x0e\x41rtifactSource\x12\x45\n\x04type\x18\x01 \x01(\x0e\x32\x1a.ArtifactSource.SourceTypeB\x1b\xe2\xfc\xe3\xc4\x01\x15\x12\x13The type of source.\x12\\\n\nattributes\x18\x02 \x01(\x0b\x32\x05.DictBA\xe2\xfc\xe3\xc4\x01;\x12\x39The attributes that describe the source. e.g. file paths.\x12j\n\nconditions\x18\x03 \x03(\tBV\xe2\xfc\xe3\xc4\x01P\x12NObject filter conditions that decide if this source applies to a given system.\x12\x91\x01\n\x0ereturned_types\x18\x04 \x03(\tBy\xe2\xfc\xe3\xc4\x01s\x12qA list of types that may be returned by this source. Anything returned that is not in this list will be filtered.\x12\x61\n\x0csupported_os\x18\x05 \x03(\tBK\xe2\xfc\xe3\xc4\x01\x45\x12\x43\x41 list of operating systems to which this source should be applied.\"\x81\x02\n\nSourceType\x12\x1a\n\x16\x43OLLECTOR_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04\x46ILE\x10\x01\x12\x10\n\x0cREGISTRY_KEY\x10\x02\x12\x12\n\x0eREGISTRY_VALUE\x10\x03\x12\x07\n\x03WMI\x10\x04\x12\x0c\n\x08\x41RTIFACT\x10\x05\x12\x08\n\x04PATH\x10\x06\x12\r\n\tDIRECTORY\x10\x07\x12\x12\n\x0e\x41RTIFACT_GROUP\x10\x08\x12\x15\n\x11GRR_CLIENT_ACTION\x10(\x12\x0e\n\nLIST_FILES\x10)\x12\x12\n\x0e\x41RTIFACT_FILES\x10*\x12\x08\n\x04GREP\x10+\x12\x0b\n\x07\x43OMMAND\x10-\x12\x11\n\rREKALL_PLUGIN\x10.\"\xaf\x05\n\x08\x41rtifact\x12I\n\x04name\x18\x01 \x01(\tB;\xe2\xfc\xe3\xc4\x01\x35\n\x0c\x41rtifactName\x12%Globally unique name of the artifact.\x12X\n\nconditions\x18\x02 \x03(\tBD\xe2\xfc\xe3\xc4\x01>\x12<A list of conditions that decide if the artifact should run.\x12\x31\n\x03\x64oc\x18\x03 \x01(\tB$\xe2\xfc\xe3\xc4\x01\x1e\x12\x1c\x44oc string for the artifact.\x12\x41\n\x06labels\x18\x04 \x03(\tB1\xe2\xfc\xe3\xc4\x01+\x12)A list of labels the artifact belongs to.\x12P\n\x0csupported_os\x18\x05 \x03(\tB:\xe2\xfc\xe3\xc4\x01\x34\x12\x32\x41 list of operating systems the artifact supports.\x12\x45\n\x04urls\x18\x06 \x03(\tB7\xe2\xfc\xe3\xc4\x01\x31\x12/A list of urls that help document the artifact.\x12P\n\x08provides\x18\x08 \x03(\tB>\xe2\xfc\xe3\xc4\x01\x38\x12\x36\x41 list of knowledgebase values this artifact provides.\x12\x45\n\x07sources\x18\t \x03(\x0b\x32\x0f.ArtifactSourceB#\xe2\xfc\xe3\xc4\x01\x1d\x12\x1b\x41 list of artifact sources.\x12V\n\rerror_message\x18\n \x01(\tB?\xe2\xfc\xe3\xc4\x01\x39\x12\x37The error message for artifacts that failed validation.\"\xf1\x01\n\x1b\x41rtifactProcessorDescriptor\x12<\n\x04name\x18\x01 \x01(\tB.\xe2\xfc\xe3\xc4\x01(\x12&Processor\'s name as registered in GRR.\x12;\n\x0b\x64\x65scription\x18\x02 \x01(\tB&\xe2\xfc\xe3\xc4\x01 \x12\x1e\x44\x65scription of this processor.\x12W\n\x0coutput_types\x18\x03 \x03(\tBA\xe2\xfc\xe3\xc4\x01;\x12\x39The semantic types that can be produced by the processor.\"\x87\x04\n\x12\x41rtifactDescriptor\x12\x35\n\x08\x61rtifact\x18\x01 \x01(\x0b\x32\t.ArtifactB\x18\xe2\xfc\xe3\xc4\x01\x12\x12\x10\x41rtifact itself.\x12J\n\x0c\x64\x65pendencies\x18\x02 \x03(\tB4\xe2\xfc\xe3\xc4\x01.\x12,Names of artifacts this artifact depends on.\x12P\n\x11path_dependencies\x18\x03 \x03(\tB5\xe2\xfc\xe3\xc4\x01/\x12-Names of KB objects this artifact depends on.\x12n\n\nprocessors\x18\x05 \x03(\x0b\x32\x1c.ArtifactProcessorDescriptorB<\xe2\xfc\xe3\xc4\x01\x36\x12\x34Processors that will process this artifact\'s output.\x12T\n\tis_custom\x18\x06 \x01(\x08\x42\x41\xe2\xfc\xe3\xc4\x01;\x12\x39If True, this artifact was manually uploaded by the user.\x12V\n\rerror_message\x18\x07 \x01(\tB?\xe2\xfc\xe3\xc4\x01\x39\x12\x37The error message for artifacts that failed validation.')
  ,
  dependencies=[grr_dot_proto_dot_jobs__pb2.DESCRIPTOR,grr_dot_proto_dot_semantic__pb2.DESCRIPTOR,])



_ARTIFACTSOURCE_SOURCETYPE = _descriptor.EnumDescriptor(
  name='SourceType',
  full_name='ArtifactSource.SourceType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='COLLECTOR_TYPE_UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FILE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGISTRY_KEY', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REGISTRY_VALUE', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WMI', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARTIFACT', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PATH', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIRECTORY', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARTIFACT_GROUP', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GRR_CLIENT_ACTION', index=9, number=40,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIST_FILES', index=10, number=41,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARTIFACT_FILES', index=11, number=42,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GREP', index=12, number=43,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COMMAND', index=13, number=45,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REKALL_PLUGIN', index=14, number=46,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=616,
  serialized_end=873,
)
_sym_db.RegisterEnumDescriptor(_ARTIFACTSOURCE_SOURCETYPE)


_ARTIFACTSOURCE = _descriptor.Descriptor(
  name='ArtifactSource',
  full_name='ArtifactSource',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='ArtifactSource.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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023The type of source.'))),
    _descriptor.FieldDescriptor(
      name='attributes', full_name='ArtifactSource.attributes', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229The attributes that describe the source. e.g. file paths.'))),
    _descriptor.FieldDescriptor(
      name='conditions', full_name='ArtifactSource.conditions', index=2,
      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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001P\022NObject filter conditions that decide if this source applies to a given system.'))),
    _descriptor.FieldDescriptor(
      name='returned_types', full_name='ArtifactSource.returned_types', index=3,
      number=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001s\022qA list of types that may be returned by this source. Anything returned that is not in this list will be filtered.'))),
    _descriptor.FieldDescriptor(
      name='supported_os', full_name='ArtifactSource.supported_os', index=4,
      number=5, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001E\022CA list of operating systems to which this source should be applied.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _ARTIFACTSOURCE_SOURCETYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=77,
  serialized_end=873,
)


_ARTIFACT = _descriptor.Descriptor(
  name='Artifact',
  full_name='Artifact',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='Artifact.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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\n\014ArtifactName\022%Globally unique name of the artifact.'))),
    _descriptor.FieldDescriptor(
      name='conditions', full_name='Artifact.conditions', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001>\022<A list of conditions that decide if the artifact should run.'))),
    _descriptor.FieldDescriptor(
      name='doc', full_name='Artifact.doc', 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\036\022\034Doc string for the artifact.'))),
    _descriptor.FieldDescriptor(
      name='labels', full_name='Artifact.labels', index=3,
      number=4, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)A list of labels the artifact belongs to.'))),
    _descriptor.FieldDescriptor(
      name='supported_os', full_name='Artifact.supported_os', index=4,
      number=5, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222A list of operating systems the artifact supports.'))),
    _descriptor.FieldDescriptor(
      name='urls', full_name='Artifact.urls', index=5,
      number=6, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\022/A list of urls that help document the artifact.'))),
    _descriptor.FieldDescriptor(
      name='provides', full_name='Artifact.provides', index=6,
      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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0018\0226A list of knowledgebase values this artifact provides.'))),
    _descriptor.FieldDescriptor(
      name='sources', full_name='Artifact.sources', index=7,
      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\035\022\033A list of artifact sources.'))),
    _descriptor.FieldDescriptor(
      name='error_message', full_name='Artifact.error_message', index=8,
      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\0019\0227The error message for artifacts that failed validation.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=876,
  serialized_end=1563,
)


_ARTIFACTPROCESSORDESCRIPTOR = _descriptor.Descriptor(
  name='ArtifactProcessorDescriptor',
  full_name='ArtifactProcessorDescriptor',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='ArtifactProcessorDescriptor.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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&Processor\'s name as registered in GRR.'))),
    _descriptor.FieldDescriptor(
      name='description', full_name='ArtifactProcessorDescriptor.description', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001 \022\036Description of this processor.'))),
    _descriptor.FieldDescriptor(
      name='output_types', full_name='ArtifactProcessorDescriptor.output_types', index=2,
      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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229The semantic types that can be produced by the processor.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1566,
  serialized_end=1807,
)


_ARTIFACTDESCRIPTOR = _descriptor.Descriptor(
  name='ArtifactDescriptor',
  full_name='ArtifactDescriptor',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifact', full_name='ArtifactDescriptor.artifact', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\022\022\020Artifact itself.'))),
    _descriptor.FieldDescriptor(
      name='dependencies', full_name='ArtifactDescriptor.dependencies', 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001.\022,Names of artifacts this artifact depends on.'))),
    _descriptor.FieldDescriptor(
      name='path_dependencies', full_name='ArtifactDescriptor.path_dependencies', index=2,
      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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\022-Names of KB objects this artifact depends on.'))),
    _descriptor.FieldDescriptor(
      name='processors', full_name='ArtifactDescriptor.processors', index=3,
      number=5, 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\0016\0224Processors that will process this artifact\'s output.'))),
    _descriptor.FieldDescriptor(
      name='is_custom', full_name='ArtifactDescriptor.is_custom', index=4,
      number=6, 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=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229If True, this artifact was manually uploaded by the user.'))),
    _descriptor.FieldDescriptor(
      name='error_message', full_name='ArtifactDescriptor.error_message', index=5,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\0227The error message for artifacts that failed validation.'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1810,
  serialized_end=2329,
)

_ARTIFACTSOURCE.fields_by_name['type'].enum_type = _ARTIFACTSOURCE_SOURCETYPE
_ARTIFACTSOURCE.fields_by_name['attributes'].message_type = grr_dot_proto_dot_jobs__pb2._DICT
_ARTIFACTSOURCE_SOURCETYPE.containing_type = _ARTIFACTSOURCE
_ARTIFACT.fields_by_name['sources'].message_type = _ARTIFACTSOURCE
_ARTIFACTDESCRIPTOR.fields_by_name['artifact'].message_type = _ARTIFACT
_ARTIFACTDESCRIPTOR.fields_by_name['processors'].message_type = _ARTIFACTPROCESSORDESCRIPTOR
DESCRIPTOR.message_types_by_name['ArtifactSource'] = _ARTIFACTSOURCE
DESCRIPTOR.message_types_by_name['Artifact'] = _ARTIFACT
DESCRIPTOR.message_types_by_name['ArtifactProcessorDescriptor'] = _ARTIFACTPROCESSORDESCRIPTOR
DESCRIPTOR.message_types_by_name['ArtifactDescriptor'] = _ARTIFACTDESCRIPTOR
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ArtifactSource = _reflection.GeneratedProtocolMessageType('ArtifactSource', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACTSOURCE,
  __module__ = 'grr.proto.artifact_pb2'
  # @@protoc_insertion_point(class_scope:ArtifactSource)
  ))
_sym_db.RegisterMessage(ArtifactSource)

Artifact = _reflection.GeneratedProtocolMessageType('Artifact', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACT,
  __module__ = 'grr.proto.artifact_pb2'
  # @@protoc_insertion_point(class_scope:Artifact)
  ))
_sym_db.RegisterMessage(Artifact)

ArtifactProcessorDescriptor = _reflection.GeneratedProtocolMessageType('ArtifactProcessorDescriptor', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACTPROCESSORDESCRIPTOR,
  __module__ = 'grr.proto.artifact_pb2'
  # @@protoc_insertion_point(class_scope:ArtifactProcessorDescriptor)
  ))
_sym_db.RegisterMessage(ArtifactProcessorDescriptor)

ArtifactDescriptor = _reflection.GeneratedProtocolMessageType('ArtifactDescriptor', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACTDESCRIPTOR,
  __module__ = 'grr.proto.artifact_pb2'
  # @@protoc_insertion_point(class_scope:ArtifactDescriptor)
  ))
_sym_db.RegisterMessage(ArtifactDescriptor)


_ARTIFACTSOURCE.fields_by_name['type'].has_options = True
_ARTIFACTSOURCE.fields_by_name['type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\025\022\023The type of source.'))
_ARTIFACTSOURCE.fields_by_name['attributes'].has_options = True
_ARTIFACTSOURCE.fields_by_name['attributes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229The attributes that describe the source. e.g. file paths.'))
_ARTIFACTSOURCE.fields_by_name['conditions'].has_options = True
_ARTIFACTSOURCE.fields_by_name['conditions']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001P\022NObject filter conditions that decide if this source applies to a given system.'))
_ARTIFACTSOURCE.fields_by_name['returned_types'].has_options = True
_ARTIFACTSOURCE.fields_by_name['returned_types']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001s\022qA list of types that may be returned by this source. Anything returned that is not in this list will be filtered.'))
_ARTIFACTSOURCE.fields_by_name['supported_os'].has_options = True
_ARTIFACTSOURCE.fields_by_name['supported_os']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001E\022CA list of operating systems to which this source should be applied.'))
_ARTIFACT.fields_by_name['name'].has_options = True
_ARTIFACT.fields_by_name['name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0015\n\014ArtifactName\022%Globally unique name of the artifact.'))
_ARTIFACT.fields_by_name['conditions'].has_options = True
_ARTIFACT.fields_by_name['conditions']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001>\022<A list of conditions that decide if the artifact should run.'))
_ARTIFACT.fields_by_name['doc'].has_options = True
_ARTIFACT.fields_by_name['doc']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\036\022\034Doc string for the artifact.'))
_ARTIFACT.fields_by_name['labels'].has_options = True
_ARTIFACT.fields_by_name['labels']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001+\022)A list of labels the artifact belongs to.'))
_ARTIFACT.fields_by_name['supported_os'].has_options = True
_ARTIFACT.fields_by_name['supported_os']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0014\0222A list of operating systems the artifact supports.'))
_ARTIFACT.fields_by_name['urls'].has_options = True
_ARTIFACT.fields_by_name['urls']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0011\022/A list of urls that help document the artifact.'))
_ARTIFACT.fields_by_name['provides'].has_options = True
_ARTIFACT.fields_by_name['provides']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0018\0226A list of knowledgebase values this artifact provides.'))
_ARTIFACT.fields_by_name['sources'].has_options = True
_ARTIFACT.fields_by_name['sources']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\035\022\033A list of artifact sources.'))
_ARTIFACT.fields_by_name['error_message'].has_options = True
_ARTIFACT.fields_by_name['error_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\0227The error message for artifacts that failed validation.'))
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['name'].has_options = True
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['name']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001(\022&Processor\'s name as registered in GRR.'))
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['description'].has_options = True
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['description']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001 \022\036Description of this processor.'))
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['output_types'].has_options = True
_ARTIFACTPROCESSORDESCRIPTOR.fields_by_name['output_types']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229The semantic types that can be produced by the processor.'))
_ARTIFACTDESCRIPTOR.fields_by_name['artifact'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['artifact']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001\022\022\020Artifact itself.'))
_ARTIFACTDESCRIPTOR.fields_by_name['dependencies'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['dependencies']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001.\022,Names of artifacts this artifact depends on.'))
_ARTIFACTDESCRIPTOR.fields_by_name['path_dependencies'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['path_dependencies']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001/\022-Names of KB objects this artifact depends on.'))
_ARTIFACTDESCRIPTOR.fields_by_name['processors'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['processors']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0016\0224Processors that will process this artifact\'s output.'))
_ARTIFACTDESCRIPTOR.fields_by_name['is_custom'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['is_custom']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\001;\0229If True, this artifact was manually uploaded by the user.'))
_ARTIFACTDESCRIPTOR.fields_by_name['error_message'].has_options = True
_ARTIFACTDESCRIPTOR.fields_by_name['error_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\374\343\304\0019\0227The error message for artifacts that failed validation.'))
# @@protoc_insertion_point(module_scope)
