1// Copyright 2020 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5syntax = "proto3"; 6 7package chromiumos.config.payload; 8 9import "chromiumos/config/api/component.proto"; 10import "chromiumos/config/api/design.proto"; 11import "chromiumos/config/api/device_brand.proto"; 12import "chromiumos/config/api/partner.proto"; 13import "chromiumos/config/api/program.proto"; 14import "chromiumos/config/api/software/brand_config.proto"; 15import "chromiumos/config/api/software/software_config.proto"; 16 17option go_package = "go.chromium.org/chromiumos/config/go/payload"; 18 19// Provides a configuration that has been completely flattened with all ids 20// already resolved. 21// This is specifically targeted at supporting easier analysis from declarative 22// languages that query over the configs. It reduces join operations and also 23// simplifies queries greatly. 24message FlatConfig { 25 api.Program program = 1; 26 api.Design hw_design = 3; 27 api.Partner odm = 4; 28 api.Design.Config hw_design_config = 5; 29 repeated api.Component hw_components = 11; 30 api.DeviceBrand device_brand = 6; 31 api.Partner oem = 7; 32 33 api.software.SoftwareConfig sw_config = 9; 34 api.software.BrandConfig brand_sw_config = 10; 35 36 reserved 2, 8; 37} 38 39// A list of FlatConfigs for ease of serialization into a file. 40message FlatConfigList { 41 repeated FlatConfig values = 1; 42} 43