1load("@rules_proto//proto:defs.bzl", "proto_library") 2 3# This is an API workspace, having public visibility by default makes perfect sense. 4package(default_visibility = ["//visibility:public"]) 5 6# Reading the default service config is useful for custom gRPC clients. 7exports_files(["cloudkms_grpc_service_config.json"]) 8 9############################################################################## 10# Common 11############################################################################## 12# buildifier: disable=load-on-top 13load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") 14 15proto_library( 16 name = "kms_proto", 17 srcs = [ 18 "ekm_service.proto", 19 "resources.proto", 20 "service.proto", 21 ], 22 deps = [ 23 "//google/api:annotations_proto", 24 "//google/api:client_proto", 25 "//google/api:field_behavior_proto", 26 "//google/api:resource_proto", 27 "@com_google_protobuf//:duration_proto", 28 "@com_google_protobuf//:field_mask_proto", 29 "@com_google_protobuf//:struct_proto", 30 "@com_google_protobuf//:timestamp_proto", 31 "@com_google_protobuf//:wrappers_proto", 32 ], 33) 34 35proto_library_with_info( 36 name = "kms_proto_with_info", 37 deps = [ 38 ":kms_proto", 39 "//google/cloud:common_resources_proto", 40 "//google/cloud/location:location_proto", 41 "//google/iam/v1:iam_policy_proto", 42 "//google/iam/v1:policy_proto", 43 ], 44) 45 46############################################################################## 47# Java 48############################################################################## 49# buildifier: disable=load-on-top 50# buildifier: disable=same-origin-load 51load( 52 "@com_google_googleapis_imports//:imports.bzl", 53 "java_gapic_assembly_gradle_pkg", 54 "java_gapic_library", 55 "java_gapic_test", 56 "java_grpc_library", 57 "java_proto_library", 58) 59 60java_proto_library( 61 name = "kms_java_proto", 62 deps = [":kms_proto"], 63) 64 65java_grpc_library( 66 name = "kms_java_grpc", 67 srcs = [":kms_proto"], 68 deps = [":kms_java_proto"], 69) 70 71java_gapic_library( 72 name = "kms_java_gapic", 73 srcs = [":kms_proto_with_info"], 74 grpc_service_config = "cloudkms_grpc_service_config.json", 75 rest_numeric_enums = True, 76 service_yaml = "cloudkms_v1.yaml", 77 test_deps = [ 78 ":kms_java_grpc", 79 "//google/cloud/location:location_java_grpc", 80 "//google/iam/v1:iam_java_grpc", 81 ], 82 transport = "grpc+rest", 83 deps = [ 84 ":kms_java_proto", 85 "//google/cloud/location:location_java_proto", 86 "//google/iam/v1:iam_java_proto", 87 ], 88) 89 90java_gapic_test( 91 name = "kms_java_gapic_test_suite", 92 test_classes = [ 93 "com.google.cloud.kms.v1.KeyManagementServiceClientHttpJsonTest", 94 "com.google.cloud.kms.v1.KeyManagementServiceClientTest", 95 ], 96 runtime_deps = [":kms_java_gapic_test"], 97) 98 99# Open Source Packages 100java_gapic_assembly_gradle_pkg( 101 name = "google-cloud-kms-v1-java", 102 include_samples = True, 103 transport = "grpc+rest", 104 deps = [ 105 ":kms_java_gapic", 106 ":kms_java_grpc", 107 ":kms_java_proto", 108 ":kms_proto", 109 ], 110) 111 112############################################################################## 113# Go 114############################################################################## 115# buildifier: disable=load-on-top 116# buildifier: disable=same-origin-load 117load( 118 "@com_google_googleapis_imports//:imports.bzl", 119 "go_gapic_assembly_pkg", 120 "go_gapic_library", 121 "go_proto_library", 122) 123 124go_proto_library( 125 name = "kms_go_proto", 126 compilers = ["@io_bazel_rules_go//proto:go_grpc"], 127 importpath = "cloud.google.com/go/kms/apiv1/kmspb", 128 protos = [":kms_proto"], 129 deps = [ 130 "//google/api:annotations_go_proto", 131 "//google/iam/v1:iam_go_proto", 132 ], 133) 134 135go_gapic_library( 136 name = "kms_go_gapic", 137 srcs = [":kms_proto_with_info"], 138 grpc_service_config = "cloudkms_grpc_service_config.json", 139 importpath = "cloud.google.com/go/kms/apiv1;kms", 140 metadata = True, 141 release_level = "ga", 142 rest_numeric_enums = True, 143 service_yaml = "cloudkms_v1.yaml", 144 transport = "grpc+rest", 145 deps = [ 146 ":kms_go_proto", 147 "//google/cloud/location:location_go_proto", 148 "//google/iam/v1:iam_go_proto", 149 "@io_bazel_rules_go//proto/wkt:duration_go_proto", 150 ], 151) 152 153# Open Source Packages 154go_gapic_assembly_pkg( 155 name = "gapi-cloud-kms-v1-go", 156 deps = [ 157 ":kms_go_gapic", 158 ":kms_go_gapic_srcjar-snippets.srcjar", 159 ":kms_go_gapic_srcjar-test.srcjar", 160 ":kms_go_proto", 161 ], 162) 163 164############################################################################## 165# Python 166############################################################################## 167# buildifier: disable=load-on-top 168# buildifier: disable=same-origin-load 169load( 170 "@com_google_googleapis_imports//:imports.bzl", 171 "py_gapic_assembly_pkg", 172 "py_gapic_library", 173 "py_proto_library", # manually load py_proto_libary 174 "py_test", 175) 176 177# manually add this target for kms/inventory/v1 178py_proto_library( 179 name = "kms_py_proto", 180 deps = [":kms_proto"], 181) 182 183py_gapic_library( 184 name = "kms_py_gapic", 185 srcs = [":kms_proto"], 186 grpc_service_config = "cloudkms_grpc_service_config.json", 187 opt_args = ["add-iam-methods"], 188 rest_numeric_enums = True, 189 service_yaml = "cloudkms_v1.yaml", 190 transport = "grpc+rest", 191 deps = [ 192 "//google/iam/v1:iam_policy_py_proto", 193 "//google/iam/v1:policy_py_proto", 194 ], 195) 196 197py_test( 198 name = "kms_py_gapic_test", 199 srcs = [ 200 "kms_py_gapic_pytest.py", 201 "kms_py_gapic_test.py", 202 ], 203 legacy_create_init = False, 204 deps = [":kms_py_gapic"], 205) 206 207py_gapic_assembly_pkg( 208 name = "kms-v1-py", 209 deps = [ 210 ":kms_py_gapic", 211 ], 212) 213 214############################################################################## 215# PHP 216############################################################################## 217# buildifier: disable=load-on-top 218# buildifier: disable=same-origin-load 219load( 220 "@com_google_googleapis_imports//:imports.bzl", 221 "php_gapic_assembly_pkg", 222 "php_gapic_library", 223 "php_proto_library", 224) 225 226php_proto_library( 227 name = "kms_php_proto", 228 deps = [":kms_proto"], 229) 230 231php_gapic_library( 232 name = "kms_php_gapic", 233 srcs = [":kms_proto_with_info"], 234 migration_mode = "MIGRATING", 235 rest_numeric_enums = True, 236 service_yaml = "cloudkms_v1.yaml", 237 transport = "grpc+rest", 238 deps = [":kms_php_proto"], 239) 240 241# Open Source Packages 242php_gapic_assembly_pkg( 243 name = "google-cloud-kms-v1-php", 244 deps = [ 245 ":kms_php_gapic", 246 ":kms_php_proto", 247 ], 248) 249 250############################################################################## 251# Node.js 252############################################################################## 253# buildifier: disable=load-on-top 254# buildifier: disable=same-origin-load 255load( 256 "@com_google_googleapis_imports//:imports.bzl", 257 "nodejs_gapic_assembly_pkg", 258 "nodejs_gapic_library", 259) 260 261nodejs_gapic_library( 262 name = "kms_nodejs_gapic", 263 package_name = "@google-cloud/kms", 264 src = ":kms_proto_with_info", 265 extra_protoc_parameters = ["metadata"], 266 grpc_service_config = "cloudkms_grpc_service_config.json", 267 package = "google.cloud.kms.v1", 268 rest_numeric_enums = True, 269 service_yaml = "cloudkms_v1.yaml", 270 transport = "grpc+rest", 271 deps = [], 272) 273 274nodejs_gapic_assembly_pkg( 275 name = "kms-v1-nodejs", 276 deps = [ 277 ":kms_nodejs_gapic", 278 ":kms_proto", 279 ], 280) 281 282############################################################################## 283# Ruby 284############################################################################## 285# buildifier: disable=load-on-top 286# buildifier: disable=same-origin-load 287load( 288 "@com_google_googleapis_imports//:imports.bzl", 289 "ruby_cloud_gapic_library", 290 "ruby_gapic_assembly_pkg", 291 "ruby_grpc_library", 292 "ruby_proto_library", 293) 294 295ruby_proto_library( 296 name = "kms_ruby_proto", 297 deps = [":kms_proto"], 298) 299 300ruby_grpc_library( 301 name = "kms_ruby_grpc", 302 srcs = [":kms_proto"], 303 deps = [":kms_ruby_proto"], 304) 305 306ruby_cloud_gapic_library( 307 name = "kms_ruby_gapic", 308 srcs = [":kms_proto_with_info"], 309 extra_protoc_parameters = [ 310 "ruby-cloud-gem-name=google-cloud-kms-v1", 311 "ruby-cloud-env-prefix=KMS", 312 "ruby-cloud-product-url=https://cloud.google.com/kms", 313 "ruby-cloud-api-id=cloudkms.googleapis.com", 314 "ruby-cloud-api-shortname=cloudkms", 315 ], 316 grpc_service_config = "cloudkms_grpc_service_config.json", 317 rest_numeric_enums = True, 318 ruby_cloud_description = "Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.", 319 ruby_cloud_title = "Cloud Key Management Service (KMS) V1", 320 service_yaml = "cloudkms_v1.yaml", 321 transport = "grpc+rest", 322 deps = [ 323 ":kms_ruby_grpc", 324 ":kms_ruby_proto", 325 ], 326) 327 328# Open Source Packages 329ruby_gapic_assembly_pkg( 330 name = "google-cloud-kms-v1-ruby", 331 deps = [ 332 ":kms_ruby_gapic", 333 ":kms_ruby_grpc", 334 ":kms_ruby_proto", 335 ], 336) 337 338############################################################################## 339# C# 340############################################################################## 341# buildifier: disable=load-on-top 342# buildifier: disable=same-origin-load 343load( 344 "@com_google_googleapis_imports//:imports.bzl", 345 "csharp_gapic_assembly_pkg", 346 "csharp_gapic_library", 347 "csharp_grpc_library", 348 "csharp_proto_library", 349) 350 351csharp_proto_library( 352 name = "kms_csharp_proto", 353 deps = [":kms_proto"], 354) 355 356csharp_grpc_library( 357 name = "kms_csharp_grpc", 358 srcs = [":kms_proto"], 359 deps = [":kms_csharp_proto"], 360) 361 362csharp_gapic_library( 363 name = "kms_csharp_gapic", 364 srcs = [":kms_proto_with_info"], 365 common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", 366 grpc_service_config = "cloudkms_grpc_service_config.json", 367 rest_numeric_enums = True, 368 service_yaml = "cloudkms_v1.yaml", 369 transport = "grpc+rest", 370 deps = [ 371 ":kms_csharp_grpc", 372 ":kms_csharp_proto", 373 ], 374) 375 376# Open Source Packages 377csharp_gapic_assembly_pkg( 378 name = "google-cloud-kms-v1-csharp", 379 deps = [ 380 ":kms_csharp_gapic", 381 ":kms_csharp_grpc", 382 ":kms_csharp_proto", 383 ], 384) 385 386############################################################################## 387# C++ 388############################################################################## 389# buildifier: disable=load-on-top 390# buildifier: disable=same-origin-load 391load( 392 "@com_google_googleapis_imports//:imports.bzl", 393 "cc_grpc_library", 394 "cc_proto_library", 395) 396 397cc_proto_library( 398 name = "kms_cc_proto", 399 deps = [":kms_proto"], 400) 401 402cc_grpc_library( 403 name = "kms_cc_grpc", 404 srcs = [":kms_proto"], 405 grpc_only = True, 406 deps = [":kms_cc_proto"], 407) 408