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