xref: /aosp_15_r20/external/grpc-grpc/src/proto/grpc/testing/xds/v3/BUILD (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# Copyright 2020 gRPC authors.
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
15load("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library")
16load("//bazel:python_rules.bzl", "py_grpc_library", "py_proto_library")
17
18licenses(["notice"])
19
20exports_files([
21    "orca_load_report.proto",
22])
23
24grpc_package(
25    name = "xds_v3",
26    visibility = "public",
27)
28
29grpc_proto_library(
30    name = "address_proto",
31    srcs = [
32        "address.proto",
33    ],
34    well_known_protos = True,
35)
36
37grpc_proto_library(
38    name = "percent_proto",
39    srcs = [
40        "percent.proto",
41    ],
42)
43
44grpc_proto_library(
45    name = "base_proto",
46    srcs = [
47        "base.proto",
48    ],
49    well_known_protos = True,
50    deps = [
51        "percent_proto",
52    ],
53)
54
55grpc_proto_library(
56    name = "discovery_proto",
57    srcs = [
58        "discovery.proto",
59    ],
60    well_known_protos = True,
61    deps = [
62        "base_proto",
63    ],
64)
65
66grpc_proto_library(
67    name = "ads_proto",
68    srcs = [
69        "ads.proto",
70    ],
71    has_services = True,
72    well_known_protos = True,
73    deps = [
74        "discovery_proto",
75    ],
76)
77
78grpc_proto_library(
79    name = "config_source_proto",
80    srcs = [
81        "config_source.proto",
82    ],
83)
84
85grpc_proto_library(
86    name = "cluster_proto",
87    srcs = [
88        "cluster.proto",
89    ],
90    well_known_protos = True,
91    deps = [
92        "base_proto",
93        "config_source_proto",
94        "endpoint_proto",
95        "extension_proto",
96        "health_check_proto",
97        "outlier_detection_proto",
98    ],
99)
100
101grpc_proto_library(
102    name = "endpoint_proto",
103    srcs = [
104        "endpoint.proto",
105    ],
106    well_known_protos = True,
107    deps = [
108        "address_proto",
109        "base_proto",
110        "health_check_proto",
111        "percent_proto",
112    ],
113)
114
115grpc_proto_library(
116    name = "health_check_proto",
117    srcs = [
118        "health_check.proto",
119    ],
120)
121
122grpc_proto_library(
123    name = "extension_proto",
124    srcs = [
125        "extension.proto",
126    ],
127    well_known_protos = True,
128)
129
130grpc_proto_library(
131    name = "path_proto",
132    srcs = [
133        "path.proto",
134    ],
135    well_known_protos = True,
136    deps = [
137        "string_proto",
138    ],
139)
140
141grpc_proto_library(
142    name = "listener_proto",
143    srcs = [
144        "listener.proto",
145    ],
146    well_known_protos = True,
147    deps = [
148        "address_proto",
149        "base_proto",
150    ],
151)
152
153grpc_proto_library(
154    name = "load_report_proto",
155    srcs = [
156        "load_report.proto",
157    ],
158    well_known_protos = True,
159    deps = [
160        "address_proto",
161        "base_proto",
162    ],
163)
164
165grpc_proto_library(
166    name = "lrs_proto",
167    srcs = [
168        "lrs.proto",
169    ],
170    has_services = True,
171    well_known_protos = True,
172    deps = [
173        "base_proto",
174        "load_report_proto",
175    ],
176)
177
178grpc_proto_library(
179    name = "orca_load_report_proto",
180    srcs = [
181        "orca_load_report.proto",
182    ],
183)
184
185grpc_proto_library(
186    name = "orca_service_proto",
187    srcs = [
188        "orca_service.proto",
189    ],
190    has_services = True,
191    well_known_protos = True,
192    deps = [
193        "orca_load_report_proto",
194    ],
195)
196
197grpc_proto_library(
198    name = "outlier_detection_proto",
199    srcs = [
200        "outlier_detection.proto",
201    ],
202    has_services = True,
203    well_known_protos = True,
204)
205
206grpc_proto_library(
207    name = "protocol_proto",
208    srcs = [
209        "protocol.proto",
210    ],
211    well_known_protos = True,
212)
213
214grpc_proto_library(
215    name = "http_protocol_options_proto",
216    srcs = [
217        "http_protocol_options.proto",
218    ],
219    deps = [
220        "protocol_proto",
221    ],
222)
223
224grpc_proto_library(
225    name = "range_proto",
226    srcs = [
227        "range.proto",
228    ],
229)
230
231grpc_proto_library(
232    name = "regex_proto",
233    srcs = [
234        "regex.proto",
235    ],
236)
237
238grpc_proto_library(
239    name = "route_proto",
240    srcs = [
241        "route.proto",
242    ],
243    well_known_protos = True,
244    deps = [
245        "base_proto",
246        "extension_proto",
247        "percent_proto",
248        "range_proto",
249        "regex_proto",
250        "string_proto",
251    ],
252)
253
254grpc_proto_library(
255    name = "http_connection_manager_proto",
256    srcs = [
257        "http_connection_manager.proto",
258    ],
259    well_known_protos = True,
260    deps = [
261        "config_source_proto",
262        "extension_proto",
263        "protocol_proto",
264        "route_proto",
265    ],
266)
267
268grpc_proto_library(
269    name = "router_proto",
270    srcs = [
271        "router.proto",
272    ],
273)
274
275grpc_proto_library(
276    name = "string_proto",
277    srcs = [
278        "string.proto",
279    ],
280    well_known_protos = True,
281    deps = [
282        "regex_proto",
283    ],
284)
285
286grpc_proto_library(
287    name = "aggregate_cluster_proto",
288    srcs = [
289        "aggregate_cluster.proto",
290    ],
291    well_known_protos = True,
292    deps = [
293        "string_proto",
294    ],
295)
296
297grpc_proto_library(
298    name = "fault_common_proto",
299    srcs = [
300        "fault_common.proto",
301    ],
302    well_known_protos = True,
303    deps = [
304        "percent_proto",
305    ],
306)
307
308grpc_proto_library(
309    name = "tls_proto",
310    srcs = [
311        "tls.proto",
312    ],
313    well_known_protos = True,
314    deps = [
315        "base_proto",
316        "extension_proto",
317        "string_proto",
318    ],
319)
320
321grpc_proto_library(
322    name = "config_dump_proto",
323    srcs = [
324        "config_dump.proto",
325    ],
326    well_known_protos = True,
327)
328
329grpc_proto_library(
330    name = "csds_proto",
331    srcs = [
332        "csds.proto",
333    ],
334    well_known_protos = True,
335    deps = [
336        "base_proto",
337        "config_dump_proto",
338    ],
339)
340
341grpc_proto_library(
342    name = "fault_proto",
343    srcs = [
344        "fault.proto",
345    ],
346    well_known_protos = True,
347    deps = [
348        "fault_common_proto",
349        "percent_proto",
350        "route_proto",
351    ],
352)
353
354grpc_proto_library(
355    name = "metadata_proto",
356    srcs = [
357        "metadata.proto",
358    ],
359    well_known_protos = True,
360)
361
362grpc_proto_library(
363    name = "expr_proto",
364    srcs = [
365        "expr.proto",
366    ],
367    well_known_protos = True,
368)
369
370grpc_proto_library(
371    name = "rbac_proto",
372    srcs = [
373        "rbac.proto",
374    ],
375    well_known_protos = True,
376    deps = [
377        "address_proto",
378        "expr_proto",
379        "extension_proto",
380        "metadata_proto",
381        "path_proto",
382        "range_proto",
383        "route_proto",
384        "string_proto",
385    ],
386)
387
388grpc_proto_library(
389    name = "http_filter_rbac_proto",
390    srcs = [
391        "http_filter_rbac.proto",
392    ],
393    well_known_protos = True,
394    deps = [
395        "rbac_proto",
396    ],
397)
398
399# Contains stdout audit logger.
400grpc_proto_library(
401    name = "audit_logger_stream_proto",
402    srcs = [
403        "audit_logger_stream.proto",
404    ],
405)
406
407grpc_proto_library(
408    name = "client_side_weighted_round_robin_proto",
409    srcs = [
410        "client_side_weighted_round_robin.proto",
411    ],
412    well_known_protos = True,
413)
414
415grpc_proto_library(
416    name = "pick_first_proto",
417    srcs = [
418        "pick_first.proto",
419    ],
420    well_known_protos = True,
421)
422
423grpc_proto_library(
424    name = "ring_hash_proto",
425    srcs = [
426        "ring_hash.proto",
427    ],
428    well_known_protos = True,
429)
430
431grpc_proto_library(
432    name = "round_robin_proto",
433    srcs = [
434        "round_robin.proto",
435    ],
436    well_known_protos = True,
437)
438
439grpc_proto_library(
440    name = "wrr_locality_proto",
441    srcs = [
442        "wrr_locality.proto",
443    ],
444    well_known_protos = True,
445    deps = [
446        "cluster_proto",
447    ],
448)
449
450grpc_proto_library(
451    name = "typed_struct_proto",
452    srcs = [
453        "typed_struct.proto",
454    ],
455    well_known_protos = True,
456)
457
458grpc_proto_library(
459    name = "udpa_typed_struct_proto",
460    srcs = [
461        "udpa_typed_struct.proto",
462    ],
463    well_known_protos = True,
464)
465
466grpc_proto_library(
467    name = "cookie_proto",
468    srcs = [
469        "cookie.proto",
470    ],
471    well_known_protos = True,
472)
473
474grpc_proto_library(
475    name = "stateful_session_cookie_proto",
476    srcs = [
477        "stateful_session_cookie.proto",
478    ],
479    deps = [
480        "cookie_proto",
481    ],
482)
483
484grpc_proto_library(
485    name = "stateful_session_proto",
486    srcs = [
487        "stateful_session.proto",
488    ],
489    deps = [
490        "extension_proto",
491    ],
492)
493
494py_proto_library(
495    name = "csds_py_pb2",
496    deps = [":_csds_proto_only"],
497)
498
499py_grpc_library(
500    name = "csds_py_pb2_grpc",
501    srcs = [":_csds_proto_only"],
502    deps = [":csds_py_pb2"],
503)
504
505py_proto_library(
506    name = "config_dump_py_pb2",
507    deps = [":_config_dump_proto_only"],
508)
509
510py_proto_library(
511    name = "base_py_pb2",
512    deps = [":_base_proto_only"],
513)
514
515py_proto_library(
516    name = "percent_py_pb2",
517    deps = [":_percent_proto_only"],
518)
519