blob: 12c89417863db733bc96ea73e570a2c83667397b [file] [log] [blame]
//Copyright 2017 the original author or 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 api;
import "google/api/annotations.proto";
message AddChassisMessage{
string CLLI =1;
string VCoreIP =2;
int32 VCorePort=3;
}
message AddChassisReturn{
string DeviceID = 1;
}
message AddOLTChassisMessage{
string CLLI=1;
string SlotIP=2;
fixed32 SlotPort=3;
string Hostname=4;
fixed32 NumPorts = 5;
bool Activate = 6;
enum OltDriver {
openoltDriver = 0;
asfvolt16Driver=1;
adtranDriver=2;
tibitsDriver=3;
}
OltDriver Driver=7;
enum OltType{
edgecore=0;
adtran=1;
tibit=2;
}
OltType Type=8;
}
message AddOLTChassisReturn {
string DeviceID =1;
string ChassisDeviceID =2;
}
message ActivateSlotMessage{
string CLLI =1;
int32 SlotNumber = 2;
}
message ActivateSlotReturn{
bool Success = 1;
}
message AddOntMessage{
string CLLI=1;
int32 SlotNumber=2;
int32 PortNumber=3;
int32 OntNumber=4;
string SerialNumber=5;
}
message AddOntReturn{
bool Success=1;
}
service AbstractOLT{
rpc CreateChassis(AddChassisMessage) returns (AddChassisReturn) {
option(google.api.http) = {
post: "/v1/CreateAbstractChassis"
body:"*"
};
}
rpc CreateOLTChassis(AddOLTChassisMessage) returns (AddOLTChassisReturn) {
option(google.api.http) = {
post: "/v1/CreateOLTChassis"
body:"*"
};
}
rpc EnableSlot(ActivateSlotMessage) returns (ActivateSlotReturn){
option(google.api.http) = {
post: "/v1/EnableSlot"
body:"*"
};
}
rpc ProvisionOnt(AddOntMessage) returns (AddOntReturn) {
option(google.api.http) = {
post:"/v1/ProvsionOnt"
body:"*"
};
}
}