network_security.proto 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.networksecurity.v1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/cloud/networksecurity/v1/authorization_policy.proto";
  19. import "google/cloud/networksecurity/v1/client_tls_policy.proto";
  20. import "google/cloud/networksecurity/v1/server_tls_policy.proto";
  21. import "google/longrunning/operations.proto";
  22. option csharp_namespace = "Google.Cloud.NetworkSecurity.V1";
  23. option go_package = "google.golang.org/genproto/googleapis/cloud/networksecurity/v1;networksecurity";
  24. option java_multiple_files = true;
  25. option java_package = "com.google.cloud.networksecurity.v1";
  26. option php_namespace = "Google\\Cloud\\NetworkSecurity\\V1";
  27. option ruby_package = "Google::Cloud::NetworkSecurity::V1";
  28. // Network Security API provides resources to configure authentication and
  29. // authorization policies. Refer to per API resource documentation for more
  30. // information.
  31. service NetworkSecurity {
  32. option (google.api.default_host) = "networksecurity.googleapis.com";
  33. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  34. // Lists AuthorizationPolicies in a given project and location.
  35. rpc ListAuthorizationPolicies(ListAuthorizationPoliciesRequest) returns (ListAuthorizationPoliciesResponse) {
  36. option (google.api.http) = {
  37. get: "/v1/{parent=projects/*/locations/*}/authorizationPolicies"
  38. };
  39. option (google.api.method_signature) = "parent";
  40. }
  41. // Gets details of a single AuthorizationPolicy.
  42. rpc GetAuthorizationPolicy(GetAuthorizationPolicyRequest) returns (AuthorizationPolicy) {
  43. option (google.api.http) = {
  44. get: "/v1/{name=projects/*/locations/*/authorizationPolicies/*}"
  45. };
  46. option (google.api.method_signature) = "name";
  47. }
  48. // Creates a new AuthorizationPolicy in a given project and location.
  49. rpc CreateAuthorizationPolicy(CreateAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
  50. option (google.api.http) = {
  51. post: "/v1/{parent=projects/*/locations/*}/authorizationPolicies"
  52. body: "authorization_policy"
  53. };
  54. option (google.api.method_signature) = "parent,authorization_policy,authorization_policy_id";
  55. option (google.longrunning.operation_info) = {
  56. response_type: "AuthorizationPolicy"
  57. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  58. };
  59. }
  60. // Updates the parameters of a single AuthorizationPolicy.
  61. rpc UpdateAuthorizationPolicy(UpdateAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
  62. option (google.api.http) = {
  63. patch: "/v1/{authorization_policy.name=projects/*/locations/*/authorizationPolicies/*}"
  64. body: "authorization_policy"
  65. };
  66. option (google.api.method_signature) = "authorization_policy,update_mask";
  67. option (google.longrunning.operation_info) = {
  68. response_type: "AuthorizationPolicy"
  69. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  70. };
  71. }
  72. // Deletes a single AuthorizationPolicy.
  73. rpc DeleteAuthorizationPolicy(DeleteAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
  74. option (google.api.http) = {
  75. delete: "/v1/{name=projects/*/locations/*/authorizationPolicies/*}"
  76. };
  77. option (google.api.method_signature) = "name";
  78. option (google.longrunning.operation_info) = {
  79. response_type: "google.protobuf.Empty"
  80. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  81. };
  82. }
  83. // Lists ServerTlsPolicies in a given project and location.
  84. rpc ListServerTlsPolicies(ListServerTlsPoliciesRequest) returns (ListServerTlsPoliciesResponse) {
  85. option (google.api.http) = {
  86. get: "/v1/{parent=projects/*/locations/*}/serverTlsPolicies"
  87. };
  88. option (google.api.method_signature) = "parent";
  89. }
  90. // Gets details of a single ServerTlsPolicy.
  91. rpc GetServerTlsPolicy(GetServerTlsPolicyRequest) returns (ServerTlsPolicy) {
  92. option (google.api.http) = {
  93. get: "/v1/{name=projects/*/locations/*/serverTlsPolicies/*}"
  94. };
  95. option (google.api.method_signature) = "name";
  96. }
  97. // Creates a new ServerTlsPolicy in a given project and location.
  98. rpc CreateServerTlsPolicy(CreateServerTlsPolicyRequest) returns (google.longrunning.Operation) {
  99. option (google.api.http) = {
  100. post: "/v1/{parent=projects/*/locations/*}/serverTlsPolicies"
  101. body: "server_tls_policy"
  102. };
  103. option (google.api.method_signature) = "parent,server_tls_policy,server_tls_policy_id";
  104. option (google.longrunning.operation_info) = {
  105. response_type: "ServerTlsPolicy"
  106. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  107. };
  108. }
  109. // Updates the parameters of a single ServerTlsPolicy.
  110. rpc UpdateServerTlsPolicy(UpdateServerTlsPolicyRequest) returns (google.longrunning.Operation) {
  111. option (google.api.http) = {
  112. patch: "/v1/{server_tls_policy.name=projects/*/locations/*/serverTlsPolicies/*}"
  113. body: "server_tls_policy"
  114. };
  115. option (google.api.method_signature) = "server_tls_policy,update_mask";
  116. option (google.longrunning.operation_info) = {
  117. response_type: "ServerTlsPolicy"
  118. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  119. };
  120. }
  121. // Deletes a single ServerTlsPolicy.
  122. rpc DeleteServerTlsPolicy(DeleteServerTlsPolicyRequest) returns (google.longrunning.Operation) {
  123. option (google.api.http) = {
  124. delete: "/v1/{name=projects/*/locations/*/serverTlsPolicies/*}"
  125. };
  126. option (google.api.method_signature) = "name";
  127. option (google.longrunning.operation_info) = {
  128. response_type: "google.protobuf.Empty"
  129. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  130. };
  131. }
  132. // Lists ClientTlsPolicies in a given project and location.
  133. rpc ListClientTlsPolicies(ListClientTlsPoliciesRequest) returns (ListClientTlsPoliciesResponse) {
  134. option (google.api.http) = {
  135. get: "/v1/{parent=projects/*/locations/*}/clientTlsPolicies"
  136. };
  137. option (google.api.method_signature) = "parent";
  138. }
  139. // Gets details of a single ClientTlsPolicy.
  140. rpc GetClientTlsPolicy(GetClientTlsPolicyRequest) returns (ClientTlsPolicy) {
  141. option (google.api.http) = {
  142. get: "/v1/{name=projects/*/locations/*/clientTlsPolicies/*}"
  143. };
  144. option (google.api.method_signature) = "name";
  145. }
  146. // Creates a new ClientTlsPolicy in a given project and location.
  147. rpc CreateClientTlsPolicy(CreateClientTlsPolicyRequest) returns (google.longrunning.Operation) {
  148. option (google.api.http) = {
  149. post: "/v1/{parent=projects/*/locations/*}/clientTlsPolicies"
  150. body: "client_tls_policy"
  151. };
  152. option (google.api.method_signature) = "parent,client_tls_policy,client_tls_policy_id";
  153. option (google.longrunning.operation_info) = {
  154. response_type: "ClientTlsPolicy"
  155. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  156. };
  157. }
  158. // Updates the parameters of a single ClientTlsPolicy.
  159. rpc UpdateClientTlsPolicy(UpdateClientTlsPolicyRequest) returns (google.longrunning.Operation) {
  160. option (google.api.http) = {
  161. patch: "/v1/{client_tls_policy.name=projects/*/locations/*/clientTlsPolicies/*}"
  162. body: "client_tls_policy"
  163. };
  164. option (google.api.method_signature) = "client_tls_policy,update_mask";
  165. option (google.longrunning.operation_info) = {
  166. response_type: "ClientTlsPolicy"
  167. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  168. };
  169. }
  170. // Deletes a single ClientTlsPolicy.
  171. rpc DeleteClientTlsPolicy(DeleteClientTlsPolicyRequest) returns (google.longrunning.Operation) {
  172. option (google.api.http) = {
  173. delete: "/v1/{name=projects/*/locations/*/clientTlsPolicies/*}"
  174. };
  175. option (google.api.method_signature) = "name";
  176. option (google.longrunning.operation_info) = {
  177. response_type: "google.protobuf.Empty"
  178. metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
  179. };
  180. }
  181. }