# 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\"\x8c\x01\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\x12\x15\n\rcode_coverage\x18\x03 \x01(\x08\"O\n\x1b\x42uildAllTotFirmwareResponse\x12\x30\n\x07metrics\x18\x01 \x01(\x0b\x32\x1f.chromite.api.FwBuildMetricList\"\x8b\x01\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\x12\x15\n\rcode_coverage\x18\x03 \x01(\x08\"M\n\x1aTestAllTotFirmwareResponse\x12/\n\x07metrics\x18\x01 \x01(\x0b\x32\x1e.chromite.api.FwTestMetricList\"\x87\x01\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\x12\x15\n\rcode_coverage\x18\x03 \x01(\x08\"L\n\x18\x42uildAllFirmwareResponse\x12\x30\n\x07metrics\x18\x01 \x01(\x0b\x32\x1f.chromite.api.FwBuildMetricList\"\x86\x01\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\x12\x15\n\rcode_coverage\x18\x03 \x01(\x08\"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=2492,
  serialized_end=2586,
)
_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=2275,
  serialized_end=2320,
)
_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),
    _descriptor.FieldDescriptor(
      name='code_coverage', full_name='chromite.api.BuildAllTotFirmwareRequest.code_coverage', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=799,
  serialized_end=939,
)


_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=941,
  serialized_end=1020,
)


_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),
    _descriptor.FieldDescriptor(
      name='code_coverage', full_name='chromite.api.TestAllTotFirmwareRequest.code_coverage', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1023,
  serialized_end=1162,
)


_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=1164,
  serialized_end=1241,
)


_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),
    _descriptor.FieldDescriptor(
      name='code_coverage', full_name='chromite.api.BuildAllFirmwareRequest.code_coverage', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1244,
  serialized_end=1379,
)


_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=1381,
  serialized_end=1457,
)


_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),
    _descriptor.FieldDescriptor(
      name='code_coverage', full_name='chromite.api.TestAllFirmwareRequest.code_coverage', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1460,
  serialized_end=1594,
)


_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=1596,
  serialized_end=1670,
)


_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=1673,
  serialized_end=1846,
)


_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=1848,
  serialized_end=1949,
)


_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=2259,
  serialized_end=2320,
)

_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=2322,
  serialized_end=2361,
)

_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=2041,
  serialized_end=2361,
)

_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=2363,
  serialized_end=2490,
)

_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=1952,
  serialized_end=2490,
)

_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=2589,
  serialized_end=3152,
  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)
