xref: /aosp_15_r20/external/googleapis/google/cloud/oslogin/v1beta/BUILD.bazel (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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##############################################################################
7# Common
8##############################################################################
9load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
10
11_PROTO_SUBPACKAGE_DEPS = [
12    "//google/cloud/oslogin/common:common_proto",
13]
14
15proto_library(
16    name = "oslogin_proto",
17    srcs = [
18        "oslogin.proto",
19    ],
20    deps = [
21        "//google/api:annotations_proto",
22        "//google/api:client_proto",
23        "//google/api:field_behavior_proto",
24        "//google/api:resource_proto",
25        "@com_google_protobuf//:empty_proto",
26        "@com_google_protobuf//:field_mask_proto",
27    ] + _PROTO_SUBPACKAGE_DEPS,
28)
29
30proto_library_with_info(
31    name = "oslogin_proto_with_info",
32    deps = [
33        ":oslogin_proto",
34        "//google/cloud:common_resources_proto",
35    ] + _PROTO_SUBPACKAGE_DEPS,
36)
37
38##############################################################################
39# Java
40##############################################################################
41load(
42    "@com_google_googleapis_imports//:imports.bzl",
43    "java_gapic_assembly_gradle_pkg",
44    "java_gapic_library",
45    "java_gapic_test",
46    "java_grpc_library",
47    "java_proto_library",
48)
49
50_JAVA_PROTO_SUBPACKAGE_DEPS = [
51    "//google/cloud/oslogin/common:common_java_proto",
52]
53
54_JAVA_GRPC_SUBPACKAGE_DEPS = [
55    "//google/cloud/oslogin/common:common_java_grpc",
56]
57
58java_proto_library(
59    name = "oslogin_java_proto",
60    deps = [":oslogin_proto"],
61)
62
63java_grpc_library(
64    name = "oslogin_java_grpc",
65    srcs = [":oslogin_proto"],
66    deps = [":oslogin_java_proto"] + _JAVA_PROTO_SUBPACKAGE_DEPS,
67)
68
69java_gapic_library(
70    name = "oslogin_java_gapic",
71    srcs = [":oslogin_proto_with_info"],
72    grpc_service_config = "oslogin_grpc_service_config.json",
73    rest_numeric_enums = True,
74    service_yaml = "oslogin_v1beta.yaml",
75    test_deps = [":oslogin_java_grpc"],
76    transport = "grpc+rest",
77    deps = [
78        ":oslogin_java_proto",
79    ] + _JAVA_PROTO_SUBPACKAGE_DEPS,
80)
81
82java_gapic_test(
83    name = "oslogin_java_gapic_test_suite",
84    test_classes = [
85        "com.google.cloud.oslogin.v1beta.OsLoginServiceClientHttpJsonTest",
86        "com.google.cloud.oslogin.v1beta.OsLoginServiceClientTest",
87    ],
88    runtime_deps = [":oslogin_java_gapic_test"],
89)
90
91# Open Source Packages
92java_gapic_assembly_gradle_pkg(
93    name = "google-cloud-oslogin-v1beta-java",
94    transport = "grpc+rest",
95    deps = [
96        ":oslogin_java_gapic",
97        ":oslogin_java_grpc",
98        ":oslogin_java_proto",
99        ":oslogin_proto",
100    ] + _JAVA_PROTO_SUBPACKAGE_DEPS + _PROTO_SUBPACKAGE_DEPS,
101)
102
103##############################################################################
104# Go
105##############################################################################
106load(
107    "@com_google_googleapis_imports//:imports.bzl",
108    "go_gapic_assembly_pkg",
109    "go_gapic_library",
110    "go_proto_library",
111)
112
113go_proto_library(
114    name = "oslogin_go_proto",
115    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
116    importpath = "cloud.google.com/go/oslogin/apiv1beta/osloginpb",
117    protos = [":oslogin_proto"],
118    deps = [
119        "//google/api:annotations_go_proto",
120        "//google/cloud/oslogin/common:common_go_proto",
121    ],
122)
123
124go_gapic_library(
125    name = "oslogin_go_gapic",
126    srcs = [":oslogin_proto_with_info"],
127    grpc_service_config = "oslogin_grpc_service_config.json",
128    importpath = "cloud.google.com/go/oslogin/apiv1beta;oslogin",
129    release_level = "beta",
130    rest_numeric_enums = True,
131    service_yaml = "oslogin_v1beta.yaml",
132    transport = "grpc+rest",
133    deps = [
134        ":oslogin_go_proto",
135        "//google/cloud/oslogin/common:common_go_proto",
136    ],
137)
138
139# Open Source Packages
140go_gapic_assembly_pkg(
141    name = "gapi-cloud-oslogin-v1beta-go",
142    deps = [
143        ":oslogin_go_gapic",
144        ":oslogin_go_gapic_srcjar-snippets.srcjar",
145        ":oslogin_go_gapic_srcjar-test.srcjar",
146        ":oslogin_go_proto",
147        "//google/cloud/oslogin/common:common_go_proto",
148    ],
149)
150
151##############################################################################
152# Python
153##############################################################################
154load(
155    "@com_google_googleapis_imports//:imports.bzl",
156    "py_gapic_assembly_pkg",
157    "py_gapic_library",
158)
159
160py_gapic_library(
161    name = "oslogin_py_gapic",
162    srcs = [
163        ":oslogin_proto",
164    ],
165    grpc_service_config = "oslogin_grpc_service_config.json",
166    rest_numeric_enums = True,
167    service_yaml = "oslogin_v1beta.yaml",
168    transport = "grpc+rest",
169)
170
171# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
172#py_test(
173#    name = "oslogin_py_gapic_test",
174#    srcs = [
175#        "oslogin_py_gapic_pytest.py",
176#        "oslogin_py_gapic_test.py",
177#    ],
178#    legacy_create_init = False,
179#    deps = [":oslogin_py_gapic"],
180#)
181
182py_gapic_assembly_pkg(
183    name = "oslogin-v1beta-py",
184    deps = [
185        ":oslogin_py_gapic",
186        "//google/cloud/oslogin/common:common_py_gapic",
187    ],
188)
189
190##############################################################################
191# PHP
192##############################################################################
193load(
194    "@com_google_googleapis_imports//:imports.bzl",
195    "php_gapic_assembly_pkg",
196    "php_gapic_library",
197    "php_proto_library",
198)
199
200_PHP_SUBPACKAGE_DEPS = [
201    "//google/cloud/oslogin/common:common_php_proto",
202]
203
204php_proto_library(
205    name = "oslogin_php_proto",
206    deps = [":oslogin_proto"],
207)
208
209php_gapic_library(
210    name = "oslogin_php_gapic",
211    srcs = [":oslogin_proto_with_info"],
212    grpc_service_config = "oslogin_grpc_service_config.json",
213    rest_numeric_enums = True,
214    service_yaml = "oslogin_v1beta.yaml",
215    transport = "grpc+rest",
216    deps = [":oslogin_php_proto"] + _PHP_SUBPACKAGE_DEPS,
217)
218
219# Open Source Packages
220php_gapic_assembly_pkg(
221    name = "google-cloud-oslogin-v1beta-php",
222    deps = [
223        ":oslogin_php_gapic",
224        ":oslogin_php_proto",
225    ] + _PHP_SUBPACKAGE_DEPS,
226)
227
228##############################################################################
229# Node.js
230##############################################################################
231load(
232    "@com_google_googleapis_imports//:imports.bzl",
233    "nodejs_gapic_assembly_pkg",
234    "nodejs_gapic_library",
235)
236
237nodejs_gapic_library(
238    name = "oslogin_nodejs_gapic",
239    package_name = "@google-cloud/os-login",
240    src = ":oslogin_proto_with_info",
241    extra_protoc_parameters = ["metadata"],
242    grpc_service_config = "oslogin_grpc_service_config.json",
243    package = "google.cloud.oslogin.v1beta",
244    rest_numeric_enums = True,
245    service_yaml = "oslogin_v1beta.yaml",
246    transport = "grpc+rest",
247    deps = [],
248)
249
250nodejs_gapic_assembly_pkg(
251    name = "oslogin-v1beta-nodejs",
252    deps = [
253        ":oslogin_nodejs_gapic",
254        ":oslogin_proto",
255    ] + _PROTO_SUBPACKAGE_DEPS,
256)
257
258##############################################################################
259# Ruby
260##############################################################################
261load(
262    "@com_google_googleapis_imports//:imports.bzl",
263    "ruby_cloud_gapic_library",
264    "ruby_gapic_assembly_pkg",
265    "ruby_grpc_library",
266    "ruby_proto_library",
267)
268
269_RUBY_SUBPACKAGE_DEPS = [
270    "//google/cloud/oslogin/common:common_ruby_proto",
271    "//google/cloud/oslogin/common:common_ruby_grpc",
272]
273
274ruby_proto_library(
275    name = "oslogin_ruby_proto",
276    deps = [":oslogin_proto"],
277)
278
279ruby_grpc_library(
280    name = "oslogin_ruby_grpc",
281    srcs = [":oslogin_proto"],
282    deps = [":oslogin_ruby_proto"],
283)
284
285ruby_cloud_gapic_library(
286    name = "oslogin_ruby_gapic",
287    srcs = [":oslogin_proto_with_info"],
288    extra_protoc_parameters = [
289        "ruby-cloud-gem-name=google-cloud-os_login-v1beta",
290        "ruby-cloud-env-prefix=OS_LOGIN",
291        "ruby-cloud-product-url=https://cloud.google.com/compute/docs/oslogin",
292        "ruby-cloud-api-id=oslogin.googleapis.com",
293        "ruby-cloud-api-shortname=oslogin",
294    ],
295    grpc_service_config = "oslogin_grpc_service_config.json",
296    rest_numeric_enums = True,
297    ruby_cloud_description = "Use OS Login to manage SSH access to your instances using IAM without having to create and manage individual SSH keys. OS Login maintains a consistent Linux user identity across VM instances and is the recommended way to manage many users across multiple instances or projects.",
298    ruby_cloud_title = "Cloud OS Login V1beta",
299    service_yaml = "oslogin_v1beta.yaml",
300    transport = "grpc+rest",
301    deps = [
302        ":oslogin_ruby_grpc",
303        ":oslogin_ruby_proto",
304    ] + _RUBY_SUBPACKAGE_DEPS,
305)
306
307# Open Source Packages
308ruby_gapic_assembly_pkg(
309    name = "google-cloud-oslogin-v1beta-ruby",
310    deps = [
311        ":oslogin_ruby_gapic",
312        ":oslogin_ruby_grpc",
313        ":oslogin_ruby_proto",
314    ] + _RUBY_SUBPACKAGE_DEPS,
315)
316
317##############################################################################
318# C#
319##############################################################################
320load(
321    "@com_google_googleapis_imports//:imports.bzl",
322    "csharp_gapic_assembly_pkg",
323    "csharp_gapic_library",
324    "csharp_grpc_library",
325    "csharp_proto_library",
326)
327
328_CSHARP_SUBPACKAGE_DEPS = [
329    "//google/cloud/oslogin/common:common_csharp_proto",
330    "//google/cloud/oslogin/common:common_csharp_grpc",
331]
332
333csharp_proto_library(
334    name = "oslogin_csharp_proto",
335    deps = [":oslogin_proto"],
336)
337
338csharp_grpc_library(
339    name = "oslogin_csharp_grpc",
340    srcs = [":oslogin_proto"],
341    deps = [":oslogin_csharp_proto"],
342)
343
344csharp_gapic_library(
345    name = "oslogin_csharp_gapic",
346    srcs = [":oslogin_proto_with_info"],
347    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
348    grpc_service_config = "oslogin_grpc_service_config.json",
349    rest_numeric_enums = True,
350    service_yaml = "oslogin_v1beta.yaml",
351    transport = "grpc+rest",
352    deps = [
353        ":oslogin_csharp_grpc",
354        ":oslogin_csharp_proto",
355    ] + _CSHARP_SUBPACKAGE_DEPS,
356)
357
358# Open Source Packages
359csharp_gapic_assembly_pkg(
360    name = "google-cloud-oslogin-v1beta-csharp",
361    deps = [
362        ":oslogin_csharp_gapic",
363        ":oslogin_csharp_grpc",
364        ":oslogin_csharp_proto",
365    ] + _CSHARP_SUBPACKAGE_DEPS,
366)
367
368##############################################################################
369# C++
370##############################################################################
371# Put your C++ rules here
372