# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromite/api/artifacts.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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from chromite.api.gen.chromite.api import build_api_pb2 as chromite_dot_api_dot_build__api__pb2
from chromite.api.gen.chromite.api import sysroot_pb2 as chromite_dot_api_dot_sysroot__pb2
from chromite.api.gen.chromiumos import common_pb2 as chromiumos_dot_common__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromite/api/artifacts.proto',
  package='chromite.api',
  syntax='proto3',
  serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
  serialized_pb=_b('\n\x1c\x63hromite/api/artifacts.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x1a\x63hromite/api/sysroot.proto\x1a\x17\x63hromiumos/common.proto\"\x18\n\x08\x41rtifact\x12\x0c\n\x04path\x18\x01 \x01(\t\"\xb3\x01\n\x17PrepareForBuildResponse\x12M\n\x0f\x62uild_relevance\x18\x01 \x01(\x0e\x32\x34.chromite.api.PrepareForBuildResponse.BuildRelevance\"I\n\x0e\x42uildRelevance\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06NEEDED\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\r\n\tPOINTLESS\x10\x03\"\xb6\x01\n\x11\x42uildSetupRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x02 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\x35\n\rartifact_info\x18\x03 \x01(\x0b\x32\x1e.chromiumos.ArtifactsByService\x12\x1e\n\x16\x66orced_build_relevance\x18\x04 \x01(\x08\"\xa9\x01\n\x12\x42uildSetupResponse\x12H\n\x0f\x62uild_relevance\x18\x01 \x01(\x0e\x32/.chromite.api.BuildSetupResponse.BuildRelevance\"I\n\x0e\x42uildRelevance\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\n\n\x06NEEDED\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\r\n\tPOINTLESS\x10\x03\"\xbc\x01\n\nGetRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x02 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\x35\n\rartifact_info\x18\x03 \x01(\x0b\x32\x1e.chromiumos.ArtifactsByService\x12+\n\x0bresult_path\x18\x04 \x01(\x0b\x32\x16.chromiumos.ResultPath\"H\n\x0bGetResponse\x12\x39\n\tartifacts\x18\x01 \x01(\x0b\x32&.chromiumos.UploadedArtifactsByService\"\xdc\x01\n\x16\x42undleArtifactsRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x02 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\x35\n\rartifact_info\x18\x03 \x01(\x0b\x32\x1e.chromiumos.ArtifactsByService\x12\x12\n\noutput_dir\x18\x04 \x01(\t\x12+\n\x0bresult_path\x18\x05 \x01(\x0b\x32\x16.chromiumos.ResultPath\"T\n\x17\x42undleArtifactsResponse\x12\x39\n\tartifacts\x18\x01 \x01(\x0b\x32&.chromiumos.UploadedArtifactsByService\"\x9e\x01\n\rBundleRequest\x12-\n\x0c\x62uild_target\x18\x01 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x12\n\noutput_dir\x18\x02 \x01(\t\x12\"\n\x06\x63hroot\x18\x03 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x04 \x01(\x0b\x32\x15.chromite.api.Sysroot\";\n\x0e\x42undleResponse\x12)\n\tartifacts\x18\x01 \x03(\x0b\x32\x16.chromite.api.Artifact\"\x90\x01\n\x14\x42undleVmFilesRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x02 \x01(\x0b\x32\x15.chromite.api.Sysroot\x12\x18\n\x10test_results_dir\x18\x03 \x01(\t\x12\x12\n\noutput_dir\x18\x04 \x01(\t\"\xb5\x01\n\x17\x42undleChromeAFDORequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x12\n\noutput_dir\x18\x03 \x01(\t\x12\x33\n\rartifact_type\x18\x04 \x01(\x0e\x32\x1c.chromiumos.AFDOArtifactType\"h\n\x1aPinnedGuestImageUriRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12&\n\x07sysroot\x18\x02 \x01(\x0b\x32\x15.chromite.api.Sysroot\"\xa3\x01\n\x1bPinnedGuestImageUriResponse\x12Q\n\rpinned_images\x18\x01 \x03(\x0b\x32:.chromite.api.PinnedGuestImageUriResponse.PinnedGuestImage\x1a\x31\n\x10PinnedGuestImage\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0b\n\x03uri\x18\x02 \x01(\t2\x94\x0e\n\x10\x41rtifactsService\x12O\n\nBuildSetup\x12\x1f.chromite.api.BuildSetupRequest\x1a .chromite.api.BuildSetupResponse\x12:\n\x03Get\x12\x18.chromite.api.GetRequest\x1a\x19.chromite.api.GetResponse\x12p\n\x19\x46\x65tchPinnedGuestImageUris\x12(.chromite.api.PinnedGuestImageUriRequest\x1a).chromite.api.PinnedGuestImageUriResponse\x12P\n\x13\x42undleAutotestFiles\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12Q\n\x14\x42undleChromeOSConfig\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12O\n\x12\x42undleDebugSymbols\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12M\n\x10\x42undleEbuildLogs\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12K\n\x0e\x42undleFirmware\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12P\n\x13\x42undleImageArchives\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12K\n\x0e\x42undleImageZip\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12\x64\n\x1d\x42undleAFDOGenerationArtifacts\x12%.chromite.api.BundleChromeAFDORequest\x1a\x1c.chromite.api.BundleResponse\x12T\n\x17\x42undlePinnedGuestImages\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12X\n\x1b\x42undleSimpleChromeArtifacts\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12L\n\x0f\x42undleTastFiles\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12U\n\x18\x42undleTestUpdatePayloads\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12Q\n\rBundleVmFiles\x12\".chromite.api.BundleVmFilesRequest\x1a\x1c.chromite.api.BundleResponse\x12L\n\x0f\x45xportCpeReport\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12Q\n\x14\x42undleFpmcuUnittests\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12M\n\x10\x42undleGceTarball\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12\x62\n%GenerateRemoteTestDriverSpecification\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x12[\n\x1eGenerateRemoteTestDriverImages\x12\x1b.chromite.api.BundleRequest\x1a\x1c.chromite.api.BundleResponse\x1a\x11\xc2\xed\x1a\r\n\tartifacts\x10\x02\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
  ,
  dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromite_dot_api_dot_sysroot__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,])



_PREPAREFORBUILDRESPONSE_BUILDRELEVANCE = _descriptor.EnumDescriptor(
  name='BuildRelevance',
  full_name='chromite.api.PrepareForBuildResponse.BuildRelevance',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NEEDED', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='POINTLESS', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=262,
  serialized_end=335,
)
_sym_db.RegisterEnumDescriptor(_PREPAREFORBUILDRESPONSE_BUILDRELEVANCE)

_BUILDSETUPRESPONSE_BUILDRELEVANCE = _descriptor.EnumDescriptor(
  name='BuildRelevance',
  full_name='chromite.api.BuildSetupResponse.BuildRelevance',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NEEDED', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='POINTLESS', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=262,
  serialized_end=335,
)
_sym_db.RegisterEnumDescriptor(_BUILDSETUPRESPONSE_BUILDRELEVANCE)


_ARTIFACT = _descriptor.Descriptor(
  name='Artifact',
  full_name='chromite.api.Artifact',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromite.api.Artifact.path', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=129,
  serialized_end=153,
)


_PREPAREFORBUILDRESPONSE = _descriptor.Descriptor(
  name='PrepareForBuildResponse',
  full_name='chromite.api.PrepareForBuildResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_relevance', full_name='chromite.api.PrepareForBuildResponse.build_relevance', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _PREPAREFORBUILDRESPONSE_BUILDRELEVANCE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=156,
  serialized_end=335,
)


_BUILDSETUPREQUEST = _descriptor.Descriptor(
  name='BuildSetupRequest',
  full_name='chromite.api.BuildSetupRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildSetupRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.BuildSetupRequest.sysroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='artifact_info', full_name='chromite.api.BuildSetupRequest.artifact_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='forced_build_relevance', full_name='chromite.api.BuildSetupRequest.forced_build_relevance', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=338,
  serialized_end=520,
)


_BUILDSETUPRESPONSE = _descriptor.Descriptor(
  name='BuildSetupResponse',
  full_name='chromite.api.BuildSetupResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_relevance', full_name='chromite.api.BuildSetupResponse.build_relevance', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _BUILDSETUPRESPONSE_BUILDRELEVANCE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=523,
  serialized_end=692,
)


_GETREQUEST = _descriptor.Descriptor(
  name='GetRequest',
  full_name='chromite.api.GetRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.GetRequest.sysroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='artifact_info', full_name='chromite.api.GetRequest.artifact_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='result_path', full_name='chromite.api.GetRequest.result_path', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=695,
  serialized_end=883,
)


_GETRESPONSE = _descriptor.Descriptor(
  name='GetResponse',
  full_name='chromite.api.GetResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromite.api.GetResponse.artifacts', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=885,
  serialized_end=957,
)


_BUNDLEARTIFACTSREQUEST = _descriptor.Descriptor(
  name='BundleArtifactsRequest',
  full_name='chromite.api.BundleArtifactsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BundleArtifactsRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.BundleArtifactsRequest.sysroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='artifact_info', full_name='chromite.api.BundleArtifactsRequest.artifact_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.BundleArtifactsRequest.output_dir', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='result_path', full_name='chromite.api.BundleArtifactsRequest.result_path', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=960,
  serialized_end=1180,
)


_BUNDLEARTIFACTSRESPONSE = _descriptor.Descriptor(
  name='BundleArtifactsResponse',
  full_name='chromite.api.BundleArtifactsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromite.api.BundleArtifactsResponse.artifacts', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1182,
  serialized_end=1266,
)


_BUNDLEREQUEST = _descriptor.Descriptor(
  name='BundleRequest',
  full_name='chromite.api.BundleRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.BundleRequest.build_target', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.BundleRequest.output_dir', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BundleRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.BundleRequest.sysroot', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1269,
  serialized_end=1427,
)


_BUNDLERESPONSE = _descriptor.Descriptor(
  name='BundleResponse',
  full_name='chromite.api.BundleResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromite.api.BundleResponse.artifacts', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1429,
  serialized_end=1488,
)


_BUNDLEVMFILESREQUEST = _descriptor.Descriptor(
  name='BundleVmFilesRequest',
  full_name='chromite.api.BundleVmFilesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BundleVmFilesRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.BundleVmFilesRequest.sysroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='test_results_dir', full_name='chromite.api.BundleVmFilesRequest.test_results_dir', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.BundleVmFilesRequest.output_dir', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1491,
  serialized_end=1635,
)


_BUNDLECHROMEAFDOREQUEST = _descriptor.Descriptor(
  name='BundleChromeAFDORequest',
  full_name='chromite.api.BundleChromeAFDORequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BundleChromeAFDORequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.BundleChromeAFDORequest.build_target', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.BundleChromeAFDORequest.output_dir', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='artifact_type', full_name='chromite.api.BundleChromeAFDORequest.artifact_type', index=3,
      number=4, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1638,
  serialized_end=1819,
)


_PINNEDGUESTIMAGEURIREQUEST = _descriptor.Descriptor(
  name='PinnedGuestImageUriRequest',
  full_name='chromite.api.PinnedGuestImageUriRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.PinnedGuestImageUriRequest.chroot', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sysroot', full_name='chromite.api.PinnedGuestImageUriRequest.sysroot', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1821,
  serialized_end=1925,
)


_PINNEDGUESTIMAGEURIRESPONSE_PINNEDGUESTIMAGE = _descriptor.Descriptor(
  name='PinnedGuestImage',
  full_name='chromite.api.PinnedGuestImageUriResponse.PinnedGuestImage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='filename', full_name='chromite.api.PinnedGuestImageUriResponse.PinnedGuestImage.filename', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='uri', full_name='chromite.api.PinnedGuestImageUriResponse.PinnedGuestImage.uri', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2042,
  serialized_end=2091,
)

_PINNEDGUESTIMAGEURIRESPONSE = _descriptor.Descriptor(
  name='PinnedGuestImageUriResponse',
  full_name='chromite.api.PinnedGuestImageUriResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pinned_images', full_name='chromite.api.PinnedGuestImageUriResponse.pinned_images', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_PINNEDGUESTIMAGEURIRESPONSE_PINNEDGUESTIMAGE, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1928,
  serialized_end=2091,
)

_PREPAREFORBUILDRESPONSE.fields_by_name['build_relevance'].enum_type = _PREPAREFORBUILDRESPONSE_BUILDRELEVANCE
_PREPAREFORBUILDRESPONSE_BUILDRELEVANCE.containing_type = _PREPAREFORBUILDRESPONSE
_BUILDSETUPREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDSETUPREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_BUILDSETUPREQUEST.fields_by_name['artifact_info'].message_type = chromiumos_dot_common__pb2._ARTIFACTSBYSERVICE
_BUILDSETUPRESPONSE.fields_by_name['build_relevance'].enum_type = _BUILDSETUPRESPONSE_BUILDRELEVANCE
_BUILDSETUPRESPONSE_BUILDRELEVANCE.containing_type = _BUILDSETUPRESPONSE
_GETREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_GETREQUEST.fields_by_name['artifact_info'].message_type = chromiumos_dot_common__pb2._ARTIFACTSBYSERVICE
_GETREQUEST.fields_by_name['result_path'].message_type = chromiumos_dot_common__pb2._RESULTPATH
_GETRESPONSE.fields_by_name['artifacts'].message_type = chromiumos_dot_common__pb2._UPLOADEDARTIFACTSBYSERVICE
_BUNDLEARTIFACTSREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUNDLEARTIFACTSREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_BUNDLEARTIFACTSREQUEST.fields_by_name['artifact_info'].message_type = chromiumos_dot_common__pb2._ARTIFACTSBYSERVICE
_BUNDLEARTIFACTSREQUEST.fields_by_name['result_path'].message_type = chromiumos_dot_common__pb2._RESULTPATH
_BUNDLEARTIFACTSRESPONSE.fields_by_name['artifacts'].message_type = chromiumos_dot_common__pb2._UPLOADEDARTIFACTSBYSERVICE
_BUNDLEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_BUNDLEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUNDLEREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_BUNDLERESPONSE.fields_by_name['artifacts'].message_type = _ARTIFACT
_BUNDLEVMFILESREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUNDLEVMFILESREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_BUNDLECHROMEAFDOREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUNDLECHROMEAFDOREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_BUNDLECHROMEAFDOREQUEST.fields_by_name['artifact_type'].enum_type = chromiumos_dot_common__pb2._AFDOARTIFACTTYPE
_PINNEDGUESTIMAGEURIREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_PINNEDGUESTIMAGEURIREQUEST.fields_by_name['sysroot'].message_type = chromite_dot_api_dot_sysroot__pb2._SYSROOT
_PINNEDGUESTIMAGEURIRESPONSE_PINNEDGUESTIMAGE.containing_type = _PINNEDGUESTIMAGEURIRESPONSE
_PINNEDGUESTIMAGEURIRESPONSE.fields_by_name['pinned_images'].message_type = _PINNEDGUESTIMAGEURIRESPONSE_PINNEDGUESTIMAGE
DESCRIPTOR.message_types_by_name['Artifact'] = _ARTIFACT
DESCRIPTOR.message_types_by_name['PrepareForBuildResponse'] = _PREPAREFORBUILDRESPONSE
DESCRIPTOR.message_types_by_name['BuildSetupRequest'] = _BUILDSETUPREQUEST
DESCRIPTOR.message_types_by_name['BuildSetupResponse'] = _BUILDSETUPRESPONSE
DESCRIPTOR.message_types_by_name['GetRequest'] = _GETREQUEST
DESCRIPTOR.message_types_by_name['GetResponse'] = _GETRESPONSE
DESCRIPTOR.message_types_by_name['BundleArtifactsRequest'] = _BUNDLEARTIFACTSREQUEST
DESCRIPTOR.message_types_by_name['BundleArtifactsResponse'] = _BUNDLEARTIFACTSRESPONSE
DESCRIPTOR.message_types_by_name['BundleRequest'] = _BUNDLEREQUEST
DESCRIPTOR.message_types_by_name['BundleResponse'] = _BUNDLERESPONSE
DESCRIPTOR.message_types_by_name['BundleVmFilesRequest'] = _BUNDLEVMFILESREQUEST
DESCRIPTOR.message_types_by_name['BundleChromeAFDORequest'] = _BUNDLECHROMEAFDOREQUEST
DESCRIPTOR.message_types_by_name['PinnedGuestImageUriRequest'] = _PINNEDGUESTIMAGEURIREQUEST
DESCRIPTOR.message_types_by_name['PinnedGuestImageUriResponse'] = _PINNEDGUESTIMAGEURIRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Artifact = _reflection.GeneratedProtocolMessageType('Artifact', (_message.Message,), dict(
  DESCRIPTOR = _ARTIFACT,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.Artifact)
  ))
_sym_db.RegisterMessage(Artifact)

PrepareForBuildResponse = _reflection.GeneratedProtocolMessageType('PrepareForBuildResponse', (_message.Message,), dict(
  DESCRIPTOR = _PREPAREFORBUILDRESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.PrepareForBuildResponse)
  ))
_sym_db.RegisterMessage(PrepareForBuildResponse)

BuildSetupRequest = _reflection.GeneratedProtocolMessageType('BuildSetupRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSETUPREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildSetupRequest)
  ))
_sym_db.RegisterMessage(BuildSetupRequest)

BuildSetupResponse = _reflection.GeneratedProtocolMessageType('BuildSetupResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSETUPRESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildSetupResponse)
  ))
_sym_db.RegisterMessage(BuildSetupResponse)

GetRequest = _reflection.GeneratedProtocolMessageType('GetRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetRequest)
  ))
_sym_db.RegisterMessage(GetRequest)

GetResponse = _reflection.GeneratedProtocolMessageType('GetResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETRESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetResponse)
  ))
_sym_db.RegisterMessage(GetResponse)

BundleArtifactsRequest = _reflection.GeneratedProtocolMessageType('BundleArtifactsRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEARTIFACTSREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleArtifactsRequest)
  ))
_sym_db.RegisterMessage(BundleArtifactsRequest)

BundleArtifactsResponse = _reflection.GeneratedProtocolMessageType('BundleArtifactsResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEARTIFACTSRESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleArtifactsResponse)
  ))
_sym_db.RegisterMessage(BundleArtifactsResponse)

BundleRequest = _reflection.GeneratedProtocolMessageType('BundleRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleRequest)
  ))
_sym_db.RegisterMessage(BundleRequest)

BundleResponse = _reflection.GeneratedProtocolMessageType('BundleResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLERESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleResponse)
  ))
_sym_db.RegisterMessage(BundleResponse)

BundleVmFilesRequest = _reflection.GeneratedProtocolMessageType('BundleVmFilesRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEVMFILESREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleVmFilesRequest)
  ))
_sym_db.RegisterMessage(BundleVmFilesRequest)

BundleChromeAFDORequest = _reflection.GeneratedProtocolMessageType('BundleChromeAFDORequest', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLECHROMEAFDOREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleChromeAFDORequest)
  ))
_sym_db.RegisterMessage(BundleChromeAFDORequest)

PinnedGuestImageUriRequest = _reflection.GeneratedProtocolMessageType('PinnedGuestImageUriRequest', (_message.Message,), dict(
  DESCRIPTOR = _PINNEDGUESTIMAGEURIREQUEST,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.PinnedGuestImageUriRequest)
  ))
_sym_db.RegisterMessage(PinnedGuestImageUriRequest)

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

  PinnedGuestImage = _reflection.GeneratedProtocolMessageType('PinnedGuestImage', (_message.Message,), dict(
    DESCRIPTOR = _PINNEDGUESTIMAGEURIRESPONSE_PINNEDGUESTIMAGE,
    __module__ = 'chromite.api.artifacts_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.PinnedGuestImageUriResponse.PinnedGuestImage)
    ))
  ,
  DESCRIPTOR = _PINNEDGUESTIMAGEURIRESPONSE,
  __module__ = 'chromite.api.artifacts_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.PinnedGuestImageUriResponse)
  ))
_sym_db.RegisterMessage(PinnedGuestImageUriResponse)
_sym_db.RegisterMessage(PinnedGuestImageUriResponse.PinnedGuestImage)


DESCRIPTOR._options = None

_ARTIFACTSSERVICE = _descriptor.ServiceDescriptor(
  name='ArtifactsService',
  full_name='chromite.api.ArtifactsService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\302\355\032\r\n\tartifacts\020\002'),
  serialized_start=2094,
  serialized_end=3906,
  methods=[
  _descriptor.MethodDescriptor(
    name='BuildSetup',
    full_name='chromite.api.ArtifactsService.BuildSetup',
    index=0,
    containing_service=None,
    input_type=_BUILDSETUPREQUEST,
    output_type=_BUILDSETUPRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Get',
    full_name='chromite.api.ArtifactsService.Get',
    index=1,
    containing_service=None,
    input_type=_GETREQUEST,
    output_type=_GETRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='FetchPinnedGuestImageUris',
    full_name='chromite.api.ArtifactsService.FetchPinnedGuestImageUris',
    index=2,
    containing_service=None,
    input_type=_PINNEDGUESTIMAGEURIREQUEST,
    output_type=_PINNEDGUESTIMAGEURIRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleAutotestFiles',
    full_name='chromite.api.ArtifactsService.BundleAutotestFiles',
    index=3,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleChromeOSConfig',
    full_name='chromite.api.ArtifactsService.BundleChromeOSConfig',
    index=4,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleDebugSymbols',
    full_name='chromite.api.ArtifactsService.BundleDebugSymbols',
    index=5,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleEbuildLogs',
    full_name='chromite.api.ArtifactsService.BundleEbuildLogs',
    index=6,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleFirmware',
    full_name='chromite.api.ArtifactsService.BundleFirmware',
    index=7,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleImageArchives',
    full_name='chromite.api.ArtifactsService.BundleImageArchives',
    index=8,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleImageZip',
    full_name='chromite.api.ArtifactsService.BundleImageZip',
    index=9,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleAFDOGenerationArtifacts',
    full_name='chromite.api.ArtifactsService.BundleAFDOGenerationArtifacts',
    index=10,
    containing_service=None,
    input_type=_BUNDLECHROMEAFDOREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundlePinnedGuestImages',
    full_name='chromite.api.ArtifactsService.BundlePinnedGuestImages',
    index=11,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleSimpleChromeArtifacts',
    full_name='chromite.api.ArtifactsService.BundleSimpleChromeArtifacts',
    index=12,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleTastFiles',
    full_name='chromite.api.ArtifactsService.BundleTastFiles',
    index=13,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleTestUpdatePayloads',
    full_name='chromite.api.ArtifactsService.BundleTestUpdatePayloads',
    index=14,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleVmFiles',
    full_name='chromite.api.ArtifactsService.BundleVmFiles',
    index=15,
    containing_service=None,
    input_type=_BUNDLEVMFILESREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ExportCpeReport',
    full_name='chromite.api.ArtifactsService.ExportCpeReport',
    index=16,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleFpmcuUnittests',
    full_name='chromite.api.ArtifactsService.BundleFpmcuUnittests',
    index=17,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleGceTarball',
    full_name='chromite.api.ArtifactsService.BundleGceTarball',
    index=18,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GenerateRemoteTestDriverSpecification',
    full_name='chromite.api.ArtifactsService.GenerateRemoteTestDriverSpecification',
    index=19,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GenerateRemoteTestDriverImages',
    full_name='chromite.api.ArtifactsService.GenerateRemoteTestDriverImages',
    index=20,
    containing_service=None,
    input_type=_BUNDLEREQUEST,
    output_type=_BUNDLERESPONSE,
    serialized_options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_ARTIFACTSSERVICE)

DESCRIPTOR.services_by_name['ArtifactsService'] = _ARTIFACTSSERVICE

# @@protoc_insertion_point(module_scope)
