// Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) // // 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 osmClient; import "context.proto"; service OsmService { rpc NsiCreate (CreateRequest) returns(CreateResponse) {} rpc NsiList (context.Empty) returns(NsiListResponse) {} rpc NsiGet (GetRequest) returns(GetResponse) {} rpc NsiDelete (DeleteRequest) returns(DeleteResponse) {} } message CreateRequest { string nst_name = 1; string nsi_name = 2; string config = 3; string ssh_key = 4; string account = 5; } //OSM library doesn't return nsi ID, just an exception message CreateResponse { bool succeded = 1; string errormessage = 2; } message NsiListResponse { repeated string id = 1; } message GetRequest { string id = 1; } message GetResponse { NsiObject nsi = 1; } message NsiObject { string nst_name = 1; string nsi_name = 2; string description = 3; string VimAccountId = 4; string Netslice_Subnet_id = 5; string Netslice_vld_ip = 6; } message DeleteRequest { string id = 1; } //OSM library doesn't return nsi ID, just an exception message DeleteResponse { bool succeded = 1; string errormessage = 2; }