• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
15syntax = "proto3";
16
17package google.cloud.networksecurity.v1;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/cloud/networksecurity/v1/authorization_policy.proto";
22import "google/cloud/networksecurity/v1/client_tls_policy.proto";
23import "google/cloud/networksecurity/v1/server_tls_policy.proto";
24import "google/longrunning/operations.proto";
25
26option csharp_namespace = "Google.Cloud.NetworkSecurity.V1";
27option go_package = "cloud.google.com/go/networksecurity/apiv1/networksecuritypb;networksecuritypb";
28option java_multiple_files = true;
29option java_package = "com.google.cloud.networksecurity.v1";
30option php_namespace = "Google\\Cloud\\NetworkSecurity\\V1";
31option ruby_package = "Google::Cloud::NetworkSecurity::V1";
32
33// Network Security API provides resources to configure authentication and
34// authorization policies. Refer to per API resource documentation for more
35// information.
36service NetworkSecurity {
37  option (google.api.default_host) = "networksecurity.googleapis.com";
38  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
39
40  // Lists AuthorizationPolicies in a given project and location.
41  rpc ListAuthorizationPolicies(ListAuthorizationPoliciesRequest) returns (ListAuthorizationPoliciesResponse) {
42    option (google.api.http) = {
43      get: "/v1/{parent=projects/*/locations/*}/authorizationPolicies"
44    };
45    option (google.api.method_signature) = "parent";
46  }
47
48  // Gets details of a single AuthorizationPolicy.
49  rpc GetAuthorizationPolicy(GetAuthorizationPolicyRequest) returns (AuthorizationPolicy) {
50    option (google.api.http) = {
51      get: "/v1/{name=projects/*/locations/*/authorizationPolicies/*}"
52    };
53    option (google.api.method_signature) = "name";
54  }
55
56  // Creates a new AuthorizationPolicy in a given project and location.
57  rpc CreateAuthorizationPolicy(CreateAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
58    option (google.api.http) = {
59      post: "/v1/{parent=projects/*/locations/*}/authorizationPolicies"
60      body: "authorization_policy"
61    };
62    option (google.api.method_signature) = "parent,authorization_policy,authorization_policy_id";
63    option (google.longrunning.operation_info) = {
64      response_type: "AuthorizationPolicy"
65      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
66    };
67  }
68
69  // Updates the parameters of a single AuthorizationPolicy.
70  rpc UpdateAuthorizationPolicy(UpdateAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
71    option (google.api.http) = {
72      patch: "/v1/{authorization_policy.name=projects/*/locations/*/authorizationPolicies/*}"
73      body: "authorization_policy"
74    };
75    option (google.api.method_signature) = "authorization_policy,update_mask";
76    option (google.longrunning.operation_info) = {
77      response_type: "AuthorizationPolicy"
78      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
79    };
80  }
81
82  // Deletes a single AuthorizationPolicy.
83  rpc DeleteAuthorizationPolicy(DeleteAuthorizationPolicyRequest) returns (google.longrunning.Operation) {
84    option (google.api.http) = {
85      delete: "/v1/{name=projects/*/locations/*/authorizationPolicies/*}"
86    };
87    option (google.api.method_signature) = "name";
88    option (google.longrunning.operation_info) = {
89      response_type: "google.protobuf.Empty"
90      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
91    };
92  }
93
94  // Lists ServerTlsPolicies in a given project and location.
95  rpc ListServerTlsPolicies(ListServerTlsPoliciesRequest) returns (ListServerTlsPoliciesResponse) {
96    option (google.api.http) = {
97      get: "/v1/{parent=projects/*/locations/*}/serverTlsPolicies"
98    };
99    option (google.api.method_signature) = "parent";
100  }
101
102  // Gets details of a single ServerTlsPolicy.
103  rpc GetServerTlsPolicy(GetServerTlsPolicyRequest) returns (ServerTlsPolicy) {
104    option (google.api.http) = {
105      get: "/v1/{name=projects/*/locations/*/serverTlsPolicies/*}"
106    };
107    option (google.api.method_signature) = "name";
108  }
109
110  // Creates a new ServerTlsPolicy in a given project and location.
111  rpc CreateServerTlsPolicy(CreateServerTlsPolicyRequest) returns (google.longrunning.Operation) {
112    option (google.api.http) = {
113      post: "/v1/{parent=projects/*/locations/*}/serverTlsPolicies"
114      body: "server_tls_policy"
115    };
116    option (google.api.method_signature) = "parent,server_tls_policy,server_tls_policy_id";
117    option (google.longrunning.operation_info) = {
118      response_type: "ServerTlsPolicy"
119      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
120    };
121  }
122
123  // Updates the parameters of a single ServerTlsPolicy.
124  rpc UpdateServerTlsPolicy(UpdateServerTlsPolicyRequest) returns (google.longrunning.Operation) {
125    option (google.api.http) = {
126      patch: "/v1/{server_tls_policy.name=projects/*/locations/*/serverTlsPolicies/*}"
127      body: "server_tls_policy"
128    };
129    option (google.api.method_signature) = "server_tls_policy,update_mask";
130    option (google.longrunning.operation_info) = {
131      response_type: "ServerTlsPolicy"
132      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
133    };
134  }
135
136  // Deletes a single ServerTlsPolicy.
137  rpc DeleteServerTlsPolicy(DeleteServerTlsPolicyRequest) returns (google.longrunning.Operation) {
138    option (google.api.http) = {
139      delete: "/v1/{name=projects/*/locations/*/serverTlsPolicies/*}"
140    };
141    option (google.api.method_signature) = "name";
142    option (google.longrunning.operation_info) = {
143      response_type: "google.protobuf.Empty"
144      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
145    };
146  }
147
148  // Lists ClientTlsPolicies in a given project and location.
149  rpc ListClientTlsPolicies(ListClientTlsPoliciesRequest) returns (ListClientTlsPoliciesResponse) {
150    option (google.api.http) = {
151      get: "/v1/{parent=projects/*/locations/*}/clientTlsPolicies"
152    };
153    option (google.api.method_signature) = "parent";
154  }
155
156  // Gets details of a single ClientTlsPolicy.
157  rpc GetClientTlsPolicy(GetClientTlsPolicyRequest) returns (ClientTlsPolicy) {
158    option (google.api.http) = {
159      get: "/v1/{name=projects/*/locations/*/clientTlsPolicies/*}"
160    };
161    option (google.api.method_signature) = "name";
162  }
163
164  // Creates a new ClientTlsPolicy in a given project and location.
165  rpc CreateClientTlsPolicy(CreateClientTlsPolicyRequest) returns (google.longrunning.Operation) {
166    option (google.api.http) = {
167      post: "/v1/{parent=projects/*/locations/*}/clientTlsPolicies"
168      body: "client_tls_policy"
169    };
170    option (google.api.method_signature) = "parent,client_tls_policy,client_tls_policy_id";
171    option (google.longrunning.operation_info) = {
172      response_type: "ClientTlsPolicy"
173      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
174    };
175  }
176
177  // Updates the parameters of a single ClientTlsPolicy.
178  rpc UpdateClientTlsPolicy(UpdateClientTlsPolicyRequest) returns (google.longrunning.Operation) {
179    option (google.api.http) = {
180      patch: "/v1/{client_tls_policy.name=projects/*/locations/*/clientTlsPolicies/*}"
181      body: "client_tls_policy"
182    };
183    option (google.api.method_signature) = "client_tls_policy,update_mask";
184    option (google.longrunning.operation_info) = {
185      response_type: "ClientTlsPolicy"
186      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
187    };
188  }
189
190  // Deletes a single ClientTlsPolicy.
191  rpc DeleteClientTlsPolicy(DeleteClientTlsPolicyRequest) returns (google.longrunning.Operation) {
192    option (google.api.http) = {
193      delete: "/v1/{name=projects/*/locations/*/clientTlsPolicies/*}"
194    };
195    option (google.api.method_signature) = "name";
196    option (google.longrunning.operation_info) = {
197      response_type: "google.protobuf.Empty"
198      metadata_type: "google.cloud.networksecurity.v1.OperationMetadata"
199    };
200  }
201}
202