Skip to content
Snippets Groups Projects
csbi.proto 1.96 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
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    option go_package = "code.fbi.h-da.de/danet/api/go/gosdn/csbi";
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      rpc Get(GetRequest) returns (GetResponse);
    
      rpc GetGoStruct(GetRequest) returns (stream Payload);
      rpc GetManifest(GetRequest) returns (stream Payload);
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      rpc Create(CreateRequest) returns (CreateResponse);
      rpc Delete(DeleteRequest) returns (DeleteResponse);
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      rpc Hello(Syn) returns (Ack);
    
      rpc CreateGoStruct(CreateRequest) returns (stream Payload);
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message Syn {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
      string id = 2;
      string address = 3;
    }
    
    message Ack {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
      .gosdn.transport.TransportOption transport_option = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    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 {
    
      STATE_UNSPECIFIED = 0;
      STATE_ANNOUNCED = 1;
      STATE_BUILT = 2;
      STATE_DEPLOYED = 3;
      STATE_RUNNING = 4;
      STATE_DECOMMISSIONED = 5;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    message CreateRequest {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
      repeated .gosdn.transport.TransportOption transport_option = 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
    }
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    message Payload {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    
    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 {
        STATUS_UNSPECIFIED = 0;
        STATUS_OK = 1;
        STATUS_ERROR = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      }
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }