network.proto 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. syntax = "proto3";
  2. package pb;
  3. option go_package = "github.com/cad/ovpm/api/pb";
  4. import "google/api/annotations.proto";
  5. message NetworkCreateRequest {
  6. string name = 1;
  7. string cidr = 2;
  8. string type = 3;
  9. string via = 4;
  10. }
  11. message NetworkListRequest {}
  12. message NetworkDeleteRequest {
  13. string name = 1;
  14. }
  15. message NetworkGetAllTypesRequest {}
  16. message NetworkAssociateRequest {
  17. string name = 1;
  18. string username = 2;
  19. }
  20. message NetworkDissociateRequest {
  21. string name = 1;
  22. string username = 2;
  23. }
  24. message NetworkGetAssociatedUsersRequest {
  25. string name = 1;
  26. }
  27. service NetworkService {
  28. rpc Create (NetworkCreateRequest) returns (NetworkCreateResponse) {
  29. option (google.api.http) = {
  30. post: "/api/v1/network/create"
  31. body: "*"
  32. };
  33. }
  34. rpc List (NetworkListRequest) returns (NetworkListResponse) {
  35. option (google.api.http) = {
  36. get: "/api/v1/network/list"
  37. //body: "*"
  38. };
  39. }
  40. rpc Delete (NetworkDeleteRequest) returns (NetworkDeleteResponse) {
  41. option (google.api.http) = {
  42. post: "/api/v1/network/delete"
  43. body: "*"
  44. };
  45. }
  46. rpc GetAllTypes(NetworkGetAllTypesRequest) returns (NetworkGetAllTypesResponse) {
  47. option (google.api.http) = {
  48. get: "/api/v1/network/getalltypes"
  49. //body: "*"
  50. };
  51. }
  52. rpc GetAssociatedUsers(NetworkGetAssociatedUsersRequest) returns (NetworkGetAssociatedUsersResponse) {
  53. option (google.api.http) = {
  54. get: "/api/v1/network/getassociatedusers"
  55. //body: "*"
  56. };
  57. }
  58. rpc Associate (NetworkAssociateRequest) returns (NetworkAssociateResponse) {
  59. option (google.api.http) = {
  60. post: "/api/v1/network/associate"
  61. body: "*"
  62. };
  63. }
  64. rpc Dissociate (NetworkDissociateRequest) returns (NetworkDissociateResponse) {
  65. option (google.api.http) = {
  66. post: "/api/v1/network/dissociate"
  67. body: "*"
  68. };
  69. }
  70. }
  71. message Network {
  72. string name = 1;
  73. string cidr = 2;
  74. string type = 3;
  75. string created_at = 4;
  76. repeated string associated_usernames = 5;
  77. string via = 6;
  78. }
  79. message NetworkType {
  80. string type = 1;
  81. string description = 2;
  82. }
  83. message NetworkCreateResponse {
  84. Network network = 1;
  85. }
  86. message NetworkListResponse {
  87. repeated Network networks = 1;
  88. }
  89. message NetworkDeleteResponse {
  90. Network network = 1;
  91. }
  92. message NetworkGetAllTypesResponse {
  93. repeated NetworkType types = 1;
  94. }
  95. message NetworkAssociateResponse {}
  96. message NetworkDissociateResponse {}
  97. message NetworkGetAssociatedUsersResponse {
  98. repeated string usernames = 1;
  99. }