network.proto 2.4 KB

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