// Copyright 2020 The Chromium OS Authors. All rights reserved.
// 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.public_replication;

option go_package = "go.chromium.org/chromiumos/config/go/public_replication";

import "google/protobuf/field_mask.proto";

// Configures which fields in a ConfigBundle are made public.
//
// Any message in a ConfigBundle that has a PublicReplication message as a field
// will have the fields specified by the public_fields FieldMask made public.
// For example, consider the ConfigBundle:
//
// software_configs {
//   audio_configs {
//     card_name: "testcard"
//     private_field: "secretA"
//     public_replication {
//       public_fields {
//         paths: "card_name"
//       }
//     }
//   }
// }
//
// "card_name" will be made public, "private_field" will not be.
//
// A few notes:
// - Currently PublicReplication just wraps a FieldMask. This is done so that
//   it can be discovered via proto reflection without accidentally using
//   FieldMasks that are not meant to control public fields.
// - In FieldMasks a repeated field is only allowed in the last position of a
//   path (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask).
//   Using a single FieldMask for a ConfigBundle would not be very useful, since
//   more granularity is needed (i.e. saying all or none of
//   "software_configs" is public is not useful). Thus, FieldMasks to control
//   public fields are specified in child messages of ConfigBundle.
message PublicReplication {
    google.protobuf.FieldMask public_fields = 1;
}
