syntax = "proto3";

option go_package = "github.com/opencord/voltha-go/protos/voltha";

package voltha;

import "google/protobuf/any.proto";
import "common.proto";
import "meta.proto";


message AdapterConfig {

    // Common adapter config attributes here
    LogLevel.LogLevel log_level = 1;

    // Custom (vendor-specific) configuration attributes
    google.protobuf.Any additional_config = 64;

}

// Adapter (software plugin)
message Adapter {

    // Unique name of adapter, matching the python package name under
    // voltha/adapters.
    string id = 1 [(access) = READ_ONLY];
    string vendor = 2 [(access) = READ_ONLY];
    string version = 3 [(access) = READ_ONLY];

    // Adapter configuration
    AdapterConfig config = 16;

    // Custom descriptors and custom configuration
    google.protobuf.Any additional_description = 64 [(access) = READ_ONLY];

}

message Adapters {
    repeated Adapter items = 1;
}
