//Example of topology syntax = "proto3"; package slice; import "context.proto"; service SliceService { rpc CreateUpdateSlice (TransportSlice) returns (SliceStatus) {} rpc DeleteSlice (TransportSlice) returns (context.Empty) {} } message SliceEndpoint { context.EndPoint port_id = 1; } message TransportSlice { SliceId slice_id = 1; repeated slice.SliceEndpoint endpoints = 2; repeated context.Constraint constraints = 3; repeated context.ServiceId services = 4; repeated SliceId subSlicesId = 5; SliceStatus status = 6; } message SliceId { context.ContextId contextId = 1; context.Uuid slice_id = 2; } message SliceStatus { slice.SliceId slice_id = 1; SliceStatusEnum status = 2; } enum SliceStatusEnum { PLANNED = 0; INIT = 1; ACTIVE = 2; DEINIT = 3; }