syntax = "proto3";

option go_package = "github.com/opencord/voltha-protos/v5/go/voltha";
option java_package = "org.opencord.voltha.adapter";
option java_outer_classname = "VolthaAdapter";

package adapter;

import "google/protobuf/any.proto";

message AdapterConfig {

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

}

// Adapter (software plugin)
message Adapter {

    // the adapter ID has to be unique,
    // it will be generated as Type + CurrentReplica
    string id = 1;
    string vendor = 2;
    string version = 3;

    // Adapter configuration
    AdapterConfig config = 16;

    // Custom descriptors and custom configuration
    google.protobuf.Any additional_description = 64;

    repeated string logical_device_ids = 4;  // Logical devices "owned"

    // timestamp when the adapter last sent a message to the core
    int64 last_communication = 5;

    int32 currentReplica = 6;
    int32 totalReplicas = 7;
    string endpoint = 8;
    // all replicas of the same adapter will have the same type
    // it is used to associate a device to an adapter
    string type = 9;

}

message Adapters {
    repeated Adapter items = 1;
}
