Skip to content
Snippets Groups Projects
csbi.proto 1.34 KiB
Newer Older
  • Learn to ignore specific revisions
  • Manuel Kieweg's avatar
    Manuel Kieweg committed
    syntax = "proto3";
    
    package gosdn.csbi;
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    import "gosdn/transport/transport.proto";
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    option go_package = "code.fbi.h-da.de/cocsn/api/go/gosdn/csbi";
    
    service csbi {
      rpc Get(GetRequest) returns (GetResponse);
      rpc Create(CreateRequest) returns (CreateResponse);
      rpc Delete(DeleteRequest) returns (DeleteResponse);
    }
    
    message GetRequest {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
      bool all = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      repeated string did = 3;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    message GetResponse {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      repeated Deployment deployments = 2;
    }
    
    message Deployment {
      string id = 1;
      string name = 2;
      State state = 3;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    enum State {
      ANNOUNCED = 0;
    
    	BUILT = 1;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	DEPLOYED = 2;
    	RUNNING = 3;
    	DECOMMISSIONED = 4;
    }
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    message CreateRequest {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      repeated .gosdn.transport.TransportOption TransportOption = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message CreateResponse {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      repeated Deployment deployments = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message DeleteRequest {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      repeated string did = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message DeleteResponse {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
      enum status {
        OK = 0;
        ERROR = 1;
      }
      status Status = 2;
    }