// Copyright 2017 The Fuchsia Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package cobalt;

option go_package = "config";

import "config/encodings.proto";
import "config/metrics.proto";
import "config/report_configs.proto";

// CobaltConfig holds the configuration for a Cobalt client or Cobalt analyzer.
// It lists all available encoding, metric and report configs available for all
// customers and all projects.
message CobaltConfig {
  repeated EncodingConfig encoding_configs = 1;
  repeated Metric metric_configs = 2;
  repeated ReportConfig report_configs = 3;
}
