Skip to content
Snippets Groups Projects
core.proto 1.53 KiB
Newer Older
  • Learn to ignore specific revisions
  • Manuel Kieweg's avatar
    Manuel Kieweg committed
    syntax = "proto3";
    
    
    package gosdn.core;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    
    import "google/api/annotations.proto";
    
    import "gosdn/pnd/pnd.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/core";
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    
      rpc GetPnd(GetPndRequest) returns (GetPndResponse) {
        option (google.api.http) = {
    
          get: "/pnd/{pid}"
    
      rpc GetPndList(GetPndListRequest) returns (GetPndListResponse) {
    
        option (google.api.http) = {
    
      rpc CreatePnd(CreatePndRequest) returns (CreatePndResponse) {
    
    Malte Bauch's avatar
    Malte Bauch committed
        option (google.api.http) = {
    
    Malte Bauch's avatar
    Malte Bauch committed
          body: "*"
        };
      }
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    
    message GetPndListRequest {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    }
    
    message GetPndRequest {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
    Fabian Helm's avatar
    Fabian Helm committed
      string pid = 3;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message GetPndListResponse {
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
      repeated .gosdn.pnd.PrincipalNetworkDomain pnd = 2;
    
    message GetPndResponse {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
      .gosdn.pnd.PrincipalNetworkDomain pnd = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message CreatePndRequest {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      int64 timestamp = 1;          // Timestamp in nanoseconds since Epoch.
    
      PndCreateProperties pnd = 2;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    
    message PndCreateProperties {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      string name = 1;
      string description = 2;
      string sbi = 3;
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    }
    
    message CreatePndResponse {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
      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
    }