# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromite/api/firmware.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
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.chromiumos import common_pb2 as chromiumos_dot_common__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromite/api/firmware.proto',
  package='chromite.api',
  syntax='proto3',
  serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
  serialized_pb=_b('\n\x1b\x63hromite/api/firmware.proto\x12\x0c\x63hromite.api\x1a\x1c\x63hromite/api/build_api.proto\x1a\x17\x63hromiumos/common.proto\"\x99\x04\n\rFwBuildMetric\x12\x13\n\x0btarget_name\x18\x01 \x01(\t\x12\x15\n\rplatform_name\x18\x02 \x01(\t\x12\x39\n\nfw_section\x18\x03 \x03(\x0b\x32%.chromite.api.FwBuildMetric.FwSection\x12:\n\x06zephyr\x18\x04 \x01(\x0b\x32(.chromite.api.FwBuildMetric.ZephyrTargetH\x00\x1a\xd2\x01\n\tFwSection\x12>\n\x06region\x18\x01 \x01(\x0e\x32..chromite.api.FwBuildMetric.FwSection.FwRegion\x12\x0c\n\x04used\x18\x02 \x01(\r\x12\r\n\x05total\x18\x03 \x01(\r\"h\n\x08\x46wRegion\x12\x15\n\x11\x46W_REGION_UNKNOWN\x10\x00\x12\t\n\x05\x45\x43_RO\x10\x01\x12\t\n\x05\x45\x43_RW\x10\x02\x12\r\n\tEC_RO_BSS\x10\x03\x12\r\n\tEC_RW_BSS\x10\x04\x12\x11\n\rEC_SHARED_MEM\x10\x05\x1a\x35\n\x07Version\x12\r\n\x05major\x18\x01 \x01(\r\x12\r\n\x05minor\x18\x02 \x01(\r\x12\x0c\n\x04tiny\x18\x03 \x01(\r\x1aK\n\x0cZephyrTarget\x12;\n\x0ekernel_version\x18\x01 \x01(\x0b\x32#.chromite.api.FwBuildMetric.VersionB\x0c\n\nimage_type\"?\n\x11\x46wBuildMetricList\x12*\n\x05value\x18\x01 \x03(\x0b\x32\x1b.chromite.api.FwBuildMetric\"\x1c\n\x0c\x46wTestMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\"=\n\x10\x46wTestMetricList\x12)\n\x05value\x18\x01 \x03(\x0b\x32\x1a.chromite.api.FwTestMetric\"u\n\x1a\x42uildAllTotFirmwareRequest\x12\x33\n\x11\x66irmware_location\x18\x01 \x01(\x0e\x32\x18.chromite.api.FwLocation\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\"O\n\x1b\x42uildAllTotFirmwareResponse\x12\x30\n\x07metrics\x18\x01 \x01(\x0b\x32\x1f.chromite.api.FwBuildMetricList\"t\n\x19TestAllTotFirmwareRequest\x12\x33\n\x11\x66irmware_location\x18\x01 \x01(\x0e\x32\x18.chromite.api.FwLocation\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\"M\n\x1aTestAllTotFirmwareResponse\x12/\n\x07metrics\x18\x01 \x01(\x0b\x32\x1e.chromite.api.FwTestMetricList\"p\n\x17\x42uildAllFirmwareRequest\x12\x31\n\x11\x66irmware_location\x18\x01 \x01(\x0e\x32\x16.chromiumos.FwLocation\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\"L\n\x18\x42uildAllFirmwareResponse\x12\x30\n\x07metrics\x18\x01 \x01(\x0b\x32\x1f.chromite.api.FwBuildMetricList\"o\n\x16TestAllFirmwareRequest\x12\x31\n\x11\x66irmware_location\x18\x01 \x01(\x0e\x32\x16.chromiumos.FwLocation\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\"J\n\x17TestAllFirmwareResponse\x12/\n\x07metrics\x18\x01 \x01(\x0b\x32\x1e.chromite.api.FwTestMetricList\"\xad\x01\n\x1e\x42undleFirmwareArtifactsRequest\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12+\n\x0bresult_path\x18\x03 \x01(\x0b\x32\x16.chromiumos.ResultPath\x12:\n\tartifacts\x18\x04 \x01(\x0b\x32\'.chromiumos.ArtifactsByService.Firmware\"e\n\x1f\x42undleFirmwareArtifactsResponse\x12\x42\n\tartifacts\x18\x01 \x01(\x0b\x32/.chromiumos.UploadedArtifactsByService.Firmware\"\x9a\x04\n\x14\x46irmwareArtifactInfo\x12>\n\x07objects\x18\x01 \x03(\x0b\x32-.chromite.api.FirmwareArtifactInfo.ObjectInfo\x1a\xc0\x02\n\x0bTarballInfo\x12\x13\n\x0b\x62\x63s_version\x18\x01 \x01(\t\x12\x1b\n\x13\x66irmware_image_name\x18\x02 \x01(\t\x12N\n\x04type\x18\x03 \x01(\x0e\x32@.chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type\x12G\n\x07version\x18\x04 \x01(\x0b\x32\x36.chromite.api.FirmwareArtifactInfo.TarballInfo.Version\x1a=\n\x0c\x46irmwareType\"-\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04MAIN\x10\x01\x12\x06\n\x02\x45\x43\x10\x02\x12\x06\n\x02PD\x10\x03\x1a\'\n\x07Version\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x1a\x7f\n\nObjectInfo\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\x46\n\x0ctarball_info\x18\x02 \x01(\x0b\x32..chromite.api.FirmwareArtifactInfo.TarballInfoH\x00\x42\x16\n\x14\x66irmware_object_info*^\n\nFwLocation\x12\x17\n\x13\x46W_LOCATION_UNKNOWN\x10\x00\x12\x0f\n\x0bPLATFORM_EC\x10\x01\x12\x13\n\x0fPLATFORM_ZEPHYR\x10\x02\x12\x11\n\rPLATFORM_TI50\x10\x03\x32\xb3\x04\n\x0f\x46irmwareService\x12j\n\x13\x42uildAllTotFirmware\x12(.chromite.api.BuildAllTotFirmwareRequest\x1a).chromite.api.BuildAllTotFirmwareResponse\x12g\n\x12TestAllTotFirmware\x12\'.chromite.api.TestAllTotFirmwareRequest\x1a(.chromite.api.TestAllTotFirmwareResponse\x12\x61\n\x10\x42uildAllFirmware\x12%.chromite.api.BuildAllFirmwareRequest\x1a&.chromite.api.BuildAllFirmwareResponse\x12^\n\x0fTestAllFirmware\x12$.chromite.api.TestAllFirmwareRequest\x1a%.chromite.api.TestAllFirmwareResponse\x12v\n\x17\x42undleFirmwareArtifacts\x12,.chromite.api.BundleFirmwareArtifactsRequest\x1a-.chromite.api.BundleFirmwareArtifactsResponse\x1a\x10\xc2\xed\x1a\x0c\n\x08\x66irmware\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
  ,
  dependencies=[chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,])

_FWLOCATION = _descriptor.EnumDescriptor(
  name='FwLocation',
  full_name='chromite.api.FwLocation',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FW_LOCATION_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLATFORM_EC', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLATFORM_ZEPHYR', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLATFORM_TI50', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2396,
  serialized_end=2490,
)
_sym_db.RegisterEnumDescriptor(_FWLOCATION)

FwLocation = enum_type_wrapper.EnumTypeWrapper(_FWLOCATION)
FW_LOCATION_UNKNOWN = 0
PLATFORM_EC = 1
PLATFORM_ZEPHYR = 2
PLATFORM_TI50 = 3


_FWBUILDMETRIC_FWSECTION_FWREGION = _descriptor.EnumDescriptor(
  name='FwRegion',
  full_name='chromite.api.FwBuildMetric.FwSection.FwRegion',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FW_REGION_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC_RO', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC_RW', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC_RO_BSS', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC_RW_BSS', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC_SHARED_MEM', index=5, number=5,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=388,
  serialized_end=492,
)
_sym_db.RegisterEnumDescriptor(_FWBUILDMETRIC_FWSECTION_FWREGION)

_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MAIN', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EC', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PD', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2179,
  serialized_end=2224,
)
_sym_db.RegisterEnumDescriptor(_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE_TYPE)


_FWBUILDMETRIC_FWSECTION = _descriptor.Descriptor(
  name='FwSection',
  full_name='chromite.api.FwBuildMetric.FwSection',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='region', full_name='chromite.api.FwBuildMetric.FwSection.region', 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),
    _descriptor.FieldDescriptor(
      name='used', full_name='chromite.api.FwBuildMetric.FwSection.used', index=1,
      number=2, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='total', full_name='chromite.api.FwBuildMetric.FwSection.total', index=2,
      number=3, type=13, cpp_type=3, 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=[
    _FWBUILDMETRIC_FWSECTION_FWREGION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=282,
  serialized_end=492,
)

_FWBUILDMETRIC_VERSION = _descriptor.Descriptor(
  name='Version',
  full_name='chromite.api.FwBuildMetric.Version',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='major', full_name='chromite.api.FwBuildMetric.Version.major', index=0,
      number=1, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='minor', full_name='chromite.api.FwBuildMetric.Version.minor', index=1,
      number=2, type=13, cpp_type=3, 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),
    _descriptor.FieldDescriptor(
      name='tiny', full_name='chromite.api.FwBuildMetric.Version.tiny', index=2,
      number=3, type=13, cpp_type=3, 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=494,
  serialized_end=547,
)

_FWBUILDMETRIC_ZEPHYRTARGET = _descriptor.Descriptor(
  name='ZephyrTarget',
  full_name='chromite.api.FwBuildMetric.ZephyrTarget',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='kernel_version', full_name='chromite.api.FwBuildMetric.ZephyrTarget.kernel_version', 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=549,
  serialized_end=624,
)

_FWBUILDMETRIC = _descriptor.Descriptor(
  name='FwBuildMetric',
  full_name='chromite.api.FwBuildMetric',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='target_name', full_name='chromite.api.FwBuildMetric.target_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='platform_name', full_name='chromite.api.FwBuildMetric.platform_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fw_section', full_name='chromite.api.FwBuildMetric.fw_section', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='zephyr', full_name='chromite.api.FwBuildMetric.zephyr', 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=[_FWBUILDMETRIC_FWSECTION, _FWBUILDMETRIC_VERSION, _FWBUILDMETRIC_ZEPHYRTARGET, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='image_type', full_name='chromite.api.FwBuildMetric.image_type',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=101,
  serialized_end=638,
)


_FWBUILDMETRICLIST = _descriptor.Descriptor(
  name='FwBuildMetricList',
  full_name='chromite.api.FwBuildMetricList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='chromite.api.FwBuildMetricList.value', 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=640,
  serialized_end=703,
)


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


_FWTESTMETRICLIST = _descriptor.Descriptor(
  name='FwTestMetricList',
  full_name='chromite.api.FwTestMetricList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='chromite.api.FwTestMetricList.value', 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=735,
  serialized_end=796,
)


_BUILDALLTOTFIRMWAREREQUEST = _descriptor.Descriptor(
  name='BuildAllTotFirmwareRequest',
  full_name='chromite.api.BuildAllTotFirmwareRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='firmware_location', full_name='chromite.api.BuildAllTotFirmwareRequest.firmware_location', 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),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildAllTotFirmwareRequest.chroot', 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=798,
  serialized_end=915,
)


_BUILDALLTOTFIRMWARERESPONSE = _descriptor.Descriptor(
  name='BuildAllTotFirmwareResponse',
  full_name='chromite.api.BuildAllTotFirmwareResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metrics', full_name='chromite.api.BuildAllTotFirmwareResponse.metrics', 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=917,
  serialized_end=996,
)


_TESTALLTOTFIRMWAREREQUEST = _descriptor.Descriptor(
  name='TestAllTotFirmwareRequest',
  full_name='chromite.api.TestAllTotFirmwareRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='firmware_location', full_name='chromite.api.TestAllTotFirmwareRequest.firmware_location', 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),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.TestAllTotFirmwareRequest.chroot', 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=998,
  serialized_end=1114,
)


_TESTALLTOTFIRMWARERESPONSE = _descriptor.Descriptor(
  name='TestAllTotFirmwareResponse',
  full_name='chromite.api.TestAllTotFirmwareResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metrics', full_name='chromite.api.TestAllTotFirmwareResponse.metrics', 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=1116,
  serialized_end=1193,
)


_BUILDALLFIRMWAREREQUEST = _descriptor.Descriptor(
  name='BuildAllFirmwareRequest',
  full_name='chromite.api.BuildAllFirmwareRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='firmware_location', full_name='chromite.api.BuildAllFirmwareRequest.firmware_location', 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),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildAllFirmwareRequest.chroot', 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=1195,
  serialized_end=1307,
)


_BUILDALLFIRMWARERESPONSE = _descriptor.Descriptor(
  name='BuildAllFirmwareResponse',
  full_name='chromite.api.BuildAllFirmwareResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metrics', full_name='chromite.api.BuildAllFirmwareResponse.metrics', 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=1309,
  serialized_end=1385,
)


_TESTALLFIRMWAREREQUEST = _descriptor.Descriptor(
  name='TestAllFirmwareRequest',
  full_name='chromite.api.TestAllFirmwareRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='firmware_location', full_name='chromite.api.TestAllFirmwareRequest.firmware_location', 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),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.TestAllFirmwareRequest.chroot', 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=1387,
  serialized_end=1498,
)


_TESTALLFIRMWARERESPONSE = _descriptor.Descriptor(
  name='TestAllFirmwareResponse',
  full_name='chromite.api.TestAllFirmwareResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='metrics', full_name='chromite.api.TestAllFirmwareResponse.metrics', 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=1500,
  serialized_end=1574,
)


_BUNDLEFIRMWAREARTIFACTSREQUEST = _descriptor.Descriptor(
  name='BundleFirmwareArtifactsRequest',
  full_name='chromite.api.BundleFirmwareArtifactsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BundleFirmwareArtifactsRequest.chroot', index=0,
      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='result_path', full_name='chromite.api.BundleFirmwareArtifactsRequest.result_path', index=1,
      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='artifacts', full_name='chromite.api.BundleFirmwareArtifactsRequest.artifacts', index=2,
      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=1577,
  serialized_end=1750,
)


_BUNDLEFIRMWAREARTIFACTSRESPONSE = _descriptor.Descriptor(
  name='BundleFirmwareArtifactsResponse',
  full_name='chromite.api.BundleFirmwareArtifactsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='artifacts', full_name='chromite.api.BundleFirmwareArtifactsResponse.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=1752,
  serialized_end=1853,
)


_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE = _descriptor.Descriptor(
  name='FirmwareType',
  full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2163,
  serialized_end=2224,
)

_FIRMWAREARTIFACTINFO_TARBALLINFO_VERSION = _descriptor.Descriptor(
  name='Version',
  full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.Version',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='major', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.Version.major', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='minor', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.Version.minor', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2226,
  serialized_end=2265,
)

_FIRMWAREARTIFACTINFO_TARBALLINFO = _descriptor.Descriptor(
  name='TarballInfo',
  full_name='chromite.api.FirmwareArtifactInfo.TarballInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bcs_version', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.bcs_version', 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='firmware_image_name', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.firmware_image_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.type', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='chromite.api.FirmwareArtifactInfo.TarballInfo.version', 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=[_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE, _FIRMWAREARTIFACTINFO_TARBALLINFO_VERSION, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1945,
  serialized_end=2265,
)

_FIRMWAREARTIFACTINFO_OBJECTINFO = _descriptor.Descriptor(
  name='ObjectInfo',
  full_name='chromite.api.FirmwareArtifactInfo.ObjectInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file_name', full_name='chromite.api.FirmwareArtifactInfo.ObjectInfo.file_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tarball_info', full_name='chromite.api.FirmwareArtifactInfo.ObjectInfo.tarball_info', 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=[
    _descriptor.OneofDescriptor(
      name='firmware_object_info', full_name='chromite.api.FirmwareArtifactInfo.ObjectInfo.firmware_object_info',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2267,
  serialized_end=2394,
)

_FIRMWAREARTIFACTINFO = _descriptor.Descriptor(
  name='FirmwareArtifactInfo',
  full_name='chromite.api.FirmwareArtifactInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='objects', full_name='chromite.api.FirmwareArtifactInfo.objects', 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=[_FIRMWAREARTIFACTINFO_TARBALLINFO, _FIRMWAREARTIFACTINFO_OBJECTINFO, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1856,
  serialized_end=2394,
)

_FWBUILDMETRIC_FWSECTION.fields_by_name['region'].enum_type = _FWBUILDMETRIC_FWSECTION_FWREGION
_FWBUILDMETRIC_FWSECTION.containing_type = _FWBUILDMETRIC
_FWBUILDMETRIC_FWSECTION_FWREGION.containing_type = _FWBUILDMETRIC_FWSECTION
_FWBUILDMETRIC_VERSION.containing_type = _FWBUILDMETRIC
_FWBUILDMETRIC_ZEPHYRTARGET.fields_by_name['kernel_version'].message_type = _FWBUILDMETRIC_VERSION
_FWBUILDMETRIC_ZEPHYRTARGET.containing_type = _FWBUILDMETRIC
_FWBUILDMETRIC.fields_by_name['fw_section'].message_type = _FWBUILDMETRIC_FWSECTION
_FWBUILDMETRIC.fields_by_name['zephyr'].message_type = _FWBUILDMETRIC_ZEPHYRTARGET
_FWBUILDMETRIC.oneofs_by_name['image_type'].fields.append(
  _FWBUILDMETRIC.fields_by_name['zephyr'])
_FWBUILDMETRIC.fields_by_name['zephyr'].containing_oneof = _FWBUILDMETRIC.oneofs_by_name['image_type']
_FWBUILDMETRICLIST.fields_by_name['value'].message_type = _FWBUILDMETRIC
_FWTESTMETRICLIST.fields_by_name['value'].message_type = _FWTESTMETRIC
_BUILDALLTOTFIRMWAREREQUEST.fields_by_name['firmware_location'].enum_type = _FWLOCATION
_BUILDALLTOTFIRMWAREREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDALLTOTFIRMWARERESPONSE.fields_by_name['metrics'].message_type = _FWBUILDMETRICLIST
_TESTALLTOTFIRMWAREREQUEST.fields_by_name['firmware_location'].enum_type = _FWLOCATION
_TESTALLTOTFIRMWAREREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_TESTALLTOTFIRMWARERESPONSE.fields_by_name['metrics'].message_type = _FWTESTMETRICLIST
_BUILDALLFIRMWAREREQUEST.fields_by_name['firmware_location'].enum_type = chromiumos_dot_common__pb2._FWLOCATION
_BUILDALLFIRMWAREREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDALLFIRMWARERESPONSE.fields_by_name['metrics'].message_type = _FWBUILDMETRICLIST
_TESTALLFIRMWAREREQUEST.fields_by_name['firmware_location'].enum_type = chromiumos_dot_common__pb2._FWLOCATION
_TESTALLFIRMWAREREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_TESTALLFIRMWARERESPONSE.fields_by_name['metrics'].message_type = _FWTESTMETRICLIST
_BUNDLEFIRMWAREARTIFACTSREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUNDLEFIRMWAREARTIFACTSREQUEST.fields_by_name['result_path'].message_type = chromiumos_dot_common__pb2._RESULTPATH
_BUNDLEFIRMWAREARTIFACTSREQUEST.fields_by_name['artifacts'].message_type = chromiumos_dot_common__pb2._ARTIFACTSBYSERVICE_FIRMWARE
_BUNDLEFIRMWAREARTIFACTSRESPONSE.fields_by_name['artifacts'].message_type = chromiumos_dot_common__pb2._UPLOADEDARTIFACTSBYSERVICE_FIRMWARE
_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE.containing_type = _FIRMWAREARTIFACTINFO_TARBALLINFO
_FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE_TYPE.containing_type = _FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE
_FIRMWAREARTIFACTINFO_TARBALLINFO_VERSION.containing_type = _FIRMWAREARTIFACTINFO_TARBALLINFO
_FIRMWAREARTIFACTINFO_TARBALLINFO.fields_by_name['type'].enum_type = _FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE_TYPE
_FIRMWAREARTIFACTINFO_TARBALLINFO.fields_by_name['version'].message_type = _FIRMWAREARTIFACTINFO_TARBALLINFO_VERSION
_FIRMWAREARTIFACTINFO_TARBALLINFO.containing_type = _FIRMWAREARTIFACTINFO
_FIRMWAREARTIFACTINFO_OBJECTINFO.fields_by_name['tarball_info'].message_type = _FIRMWAREARTIFACTINFO_TARBALLINFO
_FIRMWAREARTIFACTINFO_OBJECTINFO.containing_type = _FIRMWAREARTIFACTINFO
_FIRMWAREARTIFACTINFO_OBJECTINFO.oneofs_by_name['firmware_object_info'].fields.append(
  _FIRMWAREARTIFACTINFO_OBJECTINFO.fields_by_name['tarball_info'])
_FIRMWAREARTIFACTINFO_OBJECTINFO.fields_by_name['tarball_info'].containing_oneof = _FIRMWAREARTIFACTINFO_OBJECTINFO.oneofs_by_name['firmware_object_info']
_FIRMWAREARTIFACTINFO.fields_by_name['objects'].message_type = _FIRMWAREARTIFACTINFO_OBJECTINFO
DESCRIPTOR.message_types_by_name['FwBuildMetric'] = _FWBUILDMETRIC
DESCRIPTOR.message_types_by_name['FwBuildMetricList'] = _FWBUILDMETRICLIST
DESCRIPTOR.message_types_by_name['FwTestMetric'] = _FWTESTMETRIC
DESCRIPTOR.message_types_by_name['FwTestMetricList'] = _FWTESTMETRICLIST
DESCRIPTOR.message_types_by_name['BuildAllTotFirmwareRequest'] = _BUILDALLTOTFIRMWAREREQUEST
DESCRIPTOR.message_types_by_name['BuildAllTotFirmwareResponse'] = _BUILDALLTOTFIRMWARERESPONSE
DESCRIPTOR.message_types_by_name['TestAllTotFirmwareRequest'] = _TESTALLTOTFIRMWAREREQUEST
DESCRIPTOR.message_types_by_name['TestAllTotFirmwareResponse'] = _TESTALLTOTFIRMWARERESPONSE
DESCRIPTOR.message_types_by_name['BuildAllFirmwareRequest'] = _BUILDALLFIRMWAREREQUEST
DESCRIPTOR.message_types_by_name['BuildAllFirmwareResponse'] = _BUILDALLFIRMWARERESPONSE
DESCRIPTOR.message_types_by_name['TestAllFirmwareRequest'] = _TESTALLFIRMWAREREQUEST
DESCRIPTOR.message_types_by_name['TestAllFirmwareResponse'] = _TESTALLFIRMWARERESPONSE
DESCRIPTOR.message_types_by_name['BundleFirmwareArtifactsRequest'] = _BUNDLEFIRMWAREARTIFACTSREQUEST
DESCRIPTOR.message_types_by_name['BundleFirmwareArtifactsResponse'] = _BUNDLEFIRMWAREARTIFACTSRESPONSE
DESCRIPTOR.message_types_by_name['FirmwareArtifactInfo'] = _FIRMWAREARTIFACTINFO
DESCRIPTOR.enum_types_by_name['FwLocation'] = _FWLOCATION
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  FwSection = _reflection.GeneratedProtocolMessageType('FwSection', (_message.Message,), dict(
    DESCRIPTOR = _FWBUILDMETRIC_FWSECTION,
    __module__ = 'chromite.api.firmware_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.FwBuildMetric.FwSection)
    ))
  ,

  Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), dict(
    DESCRIPTOR = _FWBUILDMETRIC_VERSION,
    __module__ = 'chromite.api.firmware_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.FwBuildMetric.Version)
    ))
  ,

  ZephyrTarget = _reflection.GeneratedProtocolMessageType('ZephyrTarget', (_message.Message,), dict(
    DESCRIPTOR = _FWBUILDMETRIC_ZEPHYRTARGET,
    __module__ = 'chromite.api.firmware_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.FwBuildMetric.ZephyrTarget)
    ))
  ,
  DESCRIPTOR = _FWBUILDMETRIC,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.FwBuildMetric)
  ))
_sym_db.RegisterMessage(FwBuildMetric)
_sym_db.RegisterMessage(FwBuildMetric.FwSection)
_sym_db.RegisterMessage(FwBuildMetric.Version)
_sym_db.RegisterMessage(FwBuildMetric.ZephyrTarget)

FwBuildMetricList = _reflection.GeneratedProtocolMessageType('FwBuildMetricList', (_message.Message,), dict(
  DESCRIPTOR = _FWBUILDMETRICLIST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.FwBuildMetricList)
  ))
_sym_db.RegisterMessage(FwBuildMetricList)

FwTestMetric = _reflection.GeneratedProtocolMessageType('FwTestMetric', (_message.Message,), dict(
  DESCRIPTOR = _FWTESTMETRIC,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.FwTestMetric)
  ))
_sym_db.RegisterMessage(FwTestMetric)

FwTestMetricList = _reflection.GeneratedProtocolMessageType('FwTestMetricList', (_message.Message,), dict(
  DESCRIPTOR = _FWTESTMETRICLIST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.FwTestMetricList)
  ))
_sym_db.RegisterMessage(FwTestMetricList)

BuildAllTotFirmwareRequest = _reflection.GeneratedProtocolMessageType('BuildAllTotFirmwareRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDALLTOTFIRMWAREREQUEST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildAllTotFirmwareRequest)
  ))
_sym_db.RegisterMessage(BuildAllTotFirmwareRequest)

BuildAllTotFirmwareResponse = _reflection.GeneratedProtocolMessageType('BuildAllTotFirmwareResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDALLTOTFIRMWARERESPONSE,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildAllTotFirmwareResponse)
  ))
_sym_db.RegisterMessage(BuildAllTotFirmwareResponse)

TestAllTotFirmwareRequest = _reflection.GeneratedProtocolMessageType('TestAllTotFirmwareRequest', (_message.Message,), dict(
  DESCRIPTOR = _TESTALLTOTFIRMWAREREQUEST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.TestAllTotFirmwareRequest)
  ))
_sym_db.RegisterMessage(TestAllTotFirmwareRequest)

TestAllTotFirmwareResponse = _reflection.GeneratedProtocolMessageType('TestAllTotFirmwareResponse', (_message.Message,), dict(
  DESCRIPTOR = _TESTALLTOTFIRMWARERESPONSE,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.TestAllTotFirmwareResponse)
  ))
_sym_db.RegisterMessage(TestAllTotFirmwareResponse)

BuildAllFirmwareRequest = _reflection.GeneratedProtocolMessageType('BuildAllFirmwareRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDALLFIRMWAREREQUEST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildAllFirmwareRequest)
  ))
_sym_db.RegisterMessage(BuildAllFirmwareRequest)

BuildAllFirmwareResponse = _reflection.GeneratedProtocolMessageType('BuildAllFirmwareResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDALLFIRMWARERESPONSE,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildAllFirmwareResponse)
  ))
_sym_db.RegisterMessage(BuildAllFirmwareResponse)

TestAllFirmwareRequest = _reflection.GeneratedProtocolMessageType('TestAllFirmwareRequest', (_message.Message,), dict(
  DESCRIPTOR = _TESTALLFIRMWAREREQUEST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.TestAllFirmwareRequest)
  ))
_sym_db.RegisterMessage(TestAllFirmwareRequest)

TestAllFirmwareResponse = _reflection.GeneratedProtocolMessageType('TestAllFirmwareResponse', (_message.Message,), dict(
  DESCRIPTOR = _TESTALLFIRMWARERESPONSE,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.TestAllFirmwareResponse)
  ))
_sym_db.RegisterMessage(TestAllFirmwareResponse)

BundleFirmwareArtifactsRequest = _reflection.GeneratedProtocolMessageType('BundleFirmwareArtifactsRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEFIRMWAREARTIFACTSREQUEST,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleFirmwareArtifactsRequest)
  ))
_sym_db.RegisterMessage(BundleFirmwareArtifactsRequest)

BundleFirmwareArtifactsResponse = _reflection.GeneratedProtocolMessageType('BundleFirmwareArtifactsResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUNDLEFIRMWAREARTIFACTSRESPONSE,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BundleFirmwareArtifactsResponse)
  ))
_sym_db.RegisterMessage(BundleFirmwareArtifactsResponse)

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

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

    FirmwareType = _reflection.GeneratedProtocolMessageType('FirmwareType', (_message.Message,), dict(
      DESCRIPTOR = _FIRMWAREARTIFACTINFO_TARBALLINFO_FIRMWARETYPE,
      __module__ = 'chromite.api.firmware_pb2'
      # @@protoc_insertion_point(class_scope:chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType)
      ))
    ,

    Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), dict(
      DESCRIPTOR = _FIRMWAREARTIFACTINFO_TARBALLINFO_VERSION,
      __module__ = 'chromite.api.firmware_pb2'
      # @@protoc_insertion_point(class_scope:chromite.api.FirmwareArtifactInfo.TarballInfo.Version)
      ))
    ,
    DESCRIPTOR = _FIRMWAREARTIFACTINFO_TARBALLINFO,
    __module__ = 'chromite.api.firmware_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.FirmwareArtifactInfo.TarballInfo)
    ))
  ,

  ObjectInfo = _reflection.GeneratedProtocolMessageType('ObjectInfo', (_message.Message,), dict(
    DESCRIPTOR = _FIRMWAREARTIFACTINFO_OBJECTINFO,
    __module__ = 'chromite.api.firmware_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.FirmwareArtifactInfo.ObjectInfo)
    ))
  ,
  DESCRIPTOR = _FIRMWAREARTIFACTINFO,
  __module__ = 'chromite.api.firmware_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.FirmwareArtifactInfo)
  ))
_sym_db.RegisterMessage(FirmwareArtifactInfo)
_sym_db.RegisterMessage(FirmwareArtifactInfo.TarballInfo)
_sym_db.RegisterMessage(FirmwareArtifactInfo.TarballInfo.FirmwareType)
_sym_db.RegisterMessage(FirmwareArtifactInfo.TarballInfo.Version)
_sym_db.RegisterMessage(FirmwareArtifactInfo.ObjectInfo)


DESCRIPTOR._options = None

_FIRMWARESERVICE = _descriptor.ServiceDescriptor(
  name='FirmwareService',
  full_name='chromite.api.FirmwareService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\302\355\032\014\n\010firmware\020\001'),
  serialized_start=2493,
  serialized_end=3056,
  methods=[
  _descriptor.MethodDescriptor(
    name='BuildAllTotFirmware',
    full_name='chromite.api.FirmwareService.BuildAllTotFirmware',
    index=0,
    containing_service=None,
    input_type=_BUILDALLTOTFIRMWAREREQUEST,
    output_type=_BUILDALLTOTFIRMWARERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='TestAllTotFirmware',
    full_name='chromite.api.FirmwareService.TestAllTotFirmware',
    index=1,
    containing_service=None,
    input_type=_TESTALLTOTFIRMWAREREQUEST,
    output_type=_TESTALLTOTFIRMWARERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BuildAllFirmware',
    full_name='chromite.api.FirmwareService.BuildAllFirmware',
    index=2,
    containing_service=None,
    input_type=_BUILDALLFIRMWAREREQUEST,
    output_type=_BUILDALLFIRMWARERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='TestAllFirmware',
    full_name='chromite.api.FirmwareService.TestAllFirmware',
    index=3,
    containing_service=None,
    input_type=_TESTALLFIRMWAREREQUEST,
    output_type=_TESTALLFIRMWARERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BundleFirmwareArtifacts',
    full_name='chromite.api.FirmwareService.BundleFirmwareArtifacts',
    index=4,
    containing_service=None,
    input_type=_BUNDLEFIRMWAREARTIFACTSREQUEST,
    output_type=_BUNDLEFIRMWAREARTIFACTSRESPONSE,
    serialized_options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_FIRMWARESERVICE)

DESCRIPTOR.services_by_name['FirmwareService'] = _FIRMWARESERVICE

# @@protoc_insertion_point(module_scope)
