Decouple API boundaries from packaging

This was an initial coupling oversight that wasn't caught until the go
bindings were generated/used (since python doesn't care).

This should have never been coupled in the first place since
config_bundle is a packaging detail in how we distro the payloads and
doesn't really define the API boundaries.

BUG=chromium:1062830
TEST=None

Change-Id: If43dd40b32de07912ee1a8cedc3726979aa8e740
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2129654
Commit-Queue: C Shapiro <shapiroc@chromium.org>
Tested-by: C Shapiro <shapiroc@chromium.org>
Reviewed-by: Andrew Lamb <andrewlamb@chromium.org>
Reviewed-by: David Burger <dburger@chromium.org>
Reviewed-by: Sean McAllister <smcallis@google.com>
Auto-Submit: C Shapiro <shapiroc@chromium.org>
diff --git a/python/config/payload/config_bundle_pb2.py b/python/config/payload/config_bundle_pb2.py
new file mode 100644
index 0000000..ecf37fa
--- /dev/null
+++ b/python/config/payload/config_bundle_pb2.py
@@ -0,0 +1,176 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: payload/config_bundle.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+from api import component_pb2 as api_dot_component__pb2
+from api import design_pb2 as api_dot_design__pb2
+from api import device_brand_pb2 as api_dot_device__brand__pb2
+from api import partner_pb2 as api_dot_partner__pb2
+from api import program_pb2 as api_dot_program__pb2
+from api.software import brand_config_pb2 as api_dot_software_dot_brand__config__pb2
+from api.software import build_target_pb2 as api_dot_software_dot_build__target__pb2
+from api.software import software_config_pb2 as api_dot_software_dot_software__config__pb2
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='payload/config_bundle.proto',
+  package='chromiumos.config.payload',
+  syntax='proto3',
+  serialized_options=_b('Z,go.chromium.org/chromiumos/config/go/payload'),
+  serialized_pb=_b('\n\x1bpayload/config_bundle.proto\x12\x19\x63hromiumos.config.payload\x1a\x13\x61pi/component.proto\x1a\x10\x61pi/design.proto\x1a\x16\x61pi/device_brand.proto\x1a\x11\x61pi/partner.proto\x1a\x11\x61pi/program.proto\x1a\x1f\x61pi/software/brand_config.proto\x1a\x1f\x61pi/software/build_target.proto\x1a\"api/software/software_config.proto\"\x85\x04\n\x0c\x43onfigBundle\x12\x34\n\x08partners\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.PartnerList\x12\x38\n\ncomponents\x18\x02 \x01(\x0b\x32$.chromiumos.config.api.ComponentList\x12\x34\n\x08programs\x18\x03 \x01(\x0b\x32\".chromiumos.config.api.ProgramList\x12\x32\n\x07\x64\x65signs\x18\x04 \x01(\x0b\x32!.chromiumos.config.api.DesignList\x12=\n\rdevice_brands\x18\x05 \x01(\x0b\x32&.chromiumos.config.api.DeviceBrandList\x12\x42\n\rbuild_targets\x18\x08 \x03(\x0b\x32+.chromiumos.config.api.software.BuildTarget\x12H\n\x10software_configs\x18\t \x03(\x0b\x32..chromiumos.config.api.software.SoftwareConfig\x12\x42\n\rbrand_configs\x18\n \x03(\x0b\x32+.chromiumos.config.api.software.BrandConfigJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"J\n\x10\x43onfigBundleList\x12\x36\n\x05value\x18\x01 \x03(\x0b\x32\'.chromiumos.config.payload.ConfigBundleB.Z,go.chromium.org/chromiumos/config/go/payloadb\x06proto3')
+  ,
+  dependencies=[api_dot_component__pb2.DESCRIPTOR,api_dot_design__pb2.DESCRIPTOR,api_dot_device__brand__pb2.DESCRIPTOR,api_dot_partner__pb2.DESCRIPTOR,api_dot_program__pb2.DESCRIPTOR,api_dot_software_dot_brand__config__pb2.DESCRIPTOR,api_dot_software_dot_build__target__pb2.DESCRIPTOR,api_dot_software_dot_software__config__pb2.DESCRIPTOR,])
+
+
+
+
+_CONFIGBUNDLE = _descriptor.Descriptor(
+  name='ConfigBundle',
+  full_name='chromiumos.config.payload.ConfigBundle',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='partners', full_name='chromiumos.config.payload.ConfigBundle.partners', index=0,
+      number=1, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='components', full_name='chromiumos.config.payload.ConfigBundle.components', 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='programs', full_name='chromiumos.config.payload.ConfigBundle.programs', index=2,
+      number=3, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='designs', full_name='chromiumos.config.payload.ConfigBundle.designs', 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),
+    _descriptor.FieldDescriptor(
+      name='device_brands', full_name='chromiumos.config.payload.ConfigBundle.device_brands', index=4,
+      number=5, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='build_targets', full_name='chromiumos.config.payload.ConfigBundle.build_targets', index=5,
+      number=8, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='software_configs', full_name='chromiumos.config.payload.ConfigBundle.software_configs', index=6,
+      number=9, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='brand_configs', full_name='chromiumos.config.payload.ConfigBundle.brand_configs', index=7,
+      number=10, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=262,
+  serialized_end=779,
+)
+
+
+_CONFIGBUNDLELIST = _descriptor.Descriptor(
+  name='ConfigBundleList',
+  full_name='chromiumos.config.payload.ConfigBundleList',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='value', full_name='chromiumos.config.payload.ConfigBundleList.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=781,
+  serialized_end=855,
+)
+
+_CONFIGBUNDLE.fields_by_name['partners'].message_type = api_dot_partner__pb2._PARTNERLIST
+_CONFIGBUNDLE.fields_by_name['components'].message_type = api_dot_component__pb2._COMPONENTLIST
+_CONFIGBUNDLE.fields_by_name['programs'].message_type = api_dot_program__pb2._PROGRAMLIST
+_CONFIGBUNDLE.fields_by_name['designs'].message_type = api_dot_design__pb2._DESIGNLIST
+_CONFIGBUNDLE.fields_by_name['device_brands'].message_type = api_dot_device__brand__pb2._DEVICEBRANDLIST
+_CONFIGBUNDLE.fields_by_name['build_targets'].message_type = api_dot_software_dot_build__target__pb2._BUILDTARGET
+_CONFIGBUNDLE.fields_by_name['software_configs'].message_type = api_dot_software_dot_software__config__pb2._SOFTWARECONFIG
+_CONFIGBUNDLE.fields_by_name['brand_configs'].message_type = api_dot_software_dot_brand__config__pb2._BRANDCONFIG
+_CONFIGBUNDLELIST.fields_by_name['value'].message_type = _CONFIGBUNDLE
+DESCRIPTOR.message_types_by_name['ConfigBundle'] = _CONFIGBUNDLE
+DESCRIPTOR.message_types_by_name['ConfigBundleList'] = _CONFIGBUNDLELIST
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+ConfigBundle = _reflection.GeneratedProtocolMessageType('ConfigBundle', (_message.Message,), dict(
+  DESCRIPTOR = _CONFIGBUNDLE,
+  __module__ = 'payload.config_bundle_pb2'
+  # @@protoc_insertion_point(class_scope:chromiumos.config.payload.ConfigBundle)
+  ))
+_sym_db.RegisterMessage(ConfigBundle)
+
+ConfigBundleList = _reflection.GeneratedProtocolMessageType('ConfigBundleList', (_message.Message,), dict(
+  DESCRIPTOR = _CONFIGBUNDLELIST,
+  __module__ = 'payload.config_bundle_pb2'
+  # @@protoc_insertion_point(class_scope:chromiumos.config.payload.ConfigBundleList)
+  ))
+_sym_db.RegisterMessage(ConfigBundleList)
+
+
+DESCRIPTOR._options = None
+# @@protoc_insertion_point(module_scope)
diff --git a/python/setup.py b/python/setup.py
index 2166e66..b82b424 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -12,6 +12,7 @@
           'api/*.py',
           'api/software/*.py',
           'api/software/**/*.py',
+          'payload/*.py',
           'test/*.py',
           'test/fake_program/*',
           'test/fake_project/*',