blob: 6dfce6094ff02c09d6684f1e8629b266965fc4f6 [file] [log] [blame]
// Copyright 2020 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package chromiumos.config.payload;
import "chromiumos/config/api/component.proto";
import "chromiumos/config/api/design.proto";
import "chromiumos/config/api/device_brand.proto";
import "chromiumos/config/api/partner.proto";
import "chromiumos/config/api/program.proto";
import "chromiumos/config/api/software/brand_config.proto";
import "chromiumos/config/api/software/software_config.proto";
option go_package = "go.chromium.org/chromiumos/config/go/payload";
// Provides a configuration that has been completely flattened with all ids
// already resolved.
// This is specifically targeted at supporting easier analysis from declarative
// languages that query over the configs. It reduces join operations and also
// simplifies queries greatly.
message FlatConfig {
api.Program program = 1;
api.Design hw_design = 3;
api.Partner odm = 4;
api.Design.Config hw_design_config = 5;
repeated api.Component hw_components = 11;
api.DeviceBrand device_brand = 6;
api.Partner oem = 7;
api.software.SoftwareConfig sw_config = 9;
api.software.BrandConfig brand_sw_config = 10;
reserved 2, 8;
}
// A list of FlatConfigs for ease of serialization into a file.
message FlatConfigList {
repeated FlatConfig values = 1;
}