Skip to content

Commit 57d9a31

Browse files
Google APIscopybara-github
authored andcommitted
feat: introduce resource class serviceusage.googleapis.com/Service
feat: added ConsumerQuotaLimit.supported_locations feat: added ProducerQuotaPolicy message and QuotaBucket.producer_quota_policy field chore: reformatted protos PiperOrigin-RevId: 565811363
1 parent 5a3d2f6 commit 57d9a31

9 files changed

Lines changed: 439 additions & 133 deletions

File tree

google/api/BUILD.bazel

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,15 @@ go_proto_library(
373373
deps = [":api_go_proto"],
374374
)
375375

376+
go_proto_library(
377+
name = "auth_go_proto",
378+
importpath = "google.golang.org/genproto/googleapis/api/auth",
379+
protos = [
380+
":auth_proto",
381+
],
382+
deps = [":api_go_proto"],
383+
)
384+
376385
go_proto_library(
377386
name = "client_go_proto",
378387
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
@@ -392,6 +401,24 @@ go_proto_library(
392401
protos = [":distribution_proto"],
393402
)
394403

404+
go_proto_library(
405+
name = "documentation_go_proto",
406+
importpath = "google.golang.org/genproto/googleapis/api/documentation",
407+
protos = [
408+
":documentation_proto",
409+
],
410+
deps = [":api_go_proto"],
411+
)
412+
413+
go_proto_library(
414+
name = "endpoint_go_proto",
415+
importpath = "google.golang.org/genproto/googleapis/api/endpoint",
416+
protos = [
417+
":endpoint_proto",
418+
],
419+
deps = [":api_go_proto"],
420+
)
421+
395422
go_proto_library(
396423
name = "field_behavior_go_proto",
397424
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
@@ -438,6 +465,15 @@ go_proto_library(
438465
],
439466
)
440467

468+
go_proto_library(
469+
name = "monitoring_go_proto",
470+
importpath = "google.golang.org/genproto/googleapis/api/monitoring",
471+
protos = [
472+
":monitoring_proto",
473+
],
474+
deps = [":api_go_proto"],
475+
)
476+
441477
go_proto_library(
442478
name = "resource_go_proto",
443479
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
@@ -480,6 +516,15 @@ go_proto_library(
480516
],
481517
)
482518

519+
go_proto_library(
520+
name = "usage_go_proto",
521+
importpath = "google.golang.org/genproto/googleapis/api/usage",
522+
protos = [
523+
":usage_proto",
524+
],
525+
deps = [":api_go_proto"],
526+
)
527+
483528
go_proto_library(
484529
name = "visibility_go_proto",
485530
importpath = "google.golang.org/genproto/googleapis/api/visibility;visibility",

google/api/serviceusage/v1/BUILD.bazel

Lines changed: 97 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,14 @@
99
# * extra_protoc_file_parameters
1010
# The complete list of preserved parameters can be found in the source code.
1111

12+
# This is an API workspace, having public visibility by default makes perfect sense.
13+
package(default_visibility = ["//visibility:public"])
14+
1215
##############################################################################
1316
# Common
1417
##############################################################################
1518
load("@rules_proto//proto:defs.bzl", "proto_library")
16-
load(
17-
"@com_google_googleapis_imports//:imports.bzl",
18-
"cc_grpc_library",
19-
"cc_proto_library",
20-
"csharp_gapic_assembly_pkg",
21-
"csharp_gapic_library",
22-
"csharp_grpc_library",
23-
"csharp_proto_library",
24-
"java_gapic_assembly_gradle_pkg",
25-
"java_gapic_library",
26-
"java_gapic_test",
27-
"java_grpc_library",
28-
"java_proto_library",
29-
"nodejs_gapic_assembly_pkg",
30-
"nodejs_gapic_library",
31-
"php_gapic_assembly_pkg",
32-
"php_gapic_library",
33-
"php_proto_library",
34-
"proto_library_with_info",
35-
"py_gapic_assembly_pkg",
36-
"py_gapic_library",
37-
"py_test",
38-
"ruby_cloud_gapic_library",
39-
"ruby_gapic_assembly_pkg",
40-
"ruby_grpc_library",
41-
"ruby_proto_library",
42-
)
43-
44-
# This is an API workspace, having public visibility by default makes perfect sense.
45-
package(default_visibility = ["//visibility:public"])
19+
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
4620

4721
proto_library(
4822
name = "serviceusage_proto",
@@ -59,6 +33,7 @@ proto_library(
5933
"//google/api:monitored_resource_proto",
6034
"//google/api:monitoring_proto",
6135
"//google/api:quota_proto",
36+
"//google/api:resource_proto",
6237
"//google/api:usage_proto",
6338
"//google/longrunning:operations_proto",
6439
"@com_google_protobuf//:api_proto",
@@ -73,6 +48,18 @@ proto_library_with_info(
7348
],
7449
)
7550

51+
##############################################################################
52+
# Java
53+
##############################################################################
54+
load(
55+
"@com_google_googleapis_imports//:imports.bzl",
56+
"java_gapic_assembly_gradle_pkg",
57+
"java_gapic_library",
58+
"java_gapic_test",
59+
"java_grpc_library",
60+
"java_proto_library",
61+
)
62+
7663
java_proto_library(
7764
name = "serviceusage_java_proto",
7865
deps = [":serviceusage_proto"],
@@ -87,6 +74,7 @@ java_grpc_library(
8774
java_gapic_library(
8875
name = "serviceusage_java_gapic",
8976
srcs = [":serviceusage_proto_with_info"],
77+
gapic_yaml = None,
9078
grpc_service_config = "serviceusage_grpc_service_config.json",
9179
rest_numeric_enums = True,
9280
service_yaml = "serviceusage_v1.yaml",
@@ -139,8 +127,13 @@ go_proto_library(
139127
protos = [":serviceusage_proto"],
140128
deps = [
141129
"//google/api:annotations_go_proto",
130+
"//google/api:auth_go_proto",
131+
"//google/api:documentation_go_proto",
132+
"//google/api:endpoint_go_proto",
142133
"//google/api:monitoredres_go_proto",
134+
"//google/api:monitoring_go_proto",
143135
"//google/api:serviceconfig_go_proto",
136+
"//google/api:usage_go_proto",
144137
"//google/longrunning:longrunning_go_proto",
145138
],
146139
)
@@ -152,10 +145,12 @@ go_gapic_library(
152145
importpath = "cloud.google.com/go/serviceusage/apiv1;serviceusage",
153146
metadata = True,
154147
release_level = "ga",
148+
rest_numeric_enums = False,
155149
service_yaml = "serviceusage_v1.yaml",
156150
transport = "grpc+rest",
157151
deps = [
158152
":serviceusage_go_proto",
153+
"//google/api:monitoredres_go_proto",
159154
"//google/longrunning:longrunning_go_proto",
160155
"@com_google_cloud_go_longrunning//:go_default_library",
161156
"@com_google_cloud_go_longrunning//autogen:go_default_library",
@@ -174,18 +169,30 @@ go_gapic_assembly_pkg(
174169
],
175170
)
176171

172+
##############################################################################
173+
# Python
174+
##############################################################################
175+
load(
176+
"@com_google_googleapis_imports//:imports.bzl",
177+
"py_gapic_assembly_pkg",
178+
"py_gapic_library",
179+
"py_test",
180+
)
181+
177182
py_gapic_library(
178183
name = "serviceusage_py_gapic",
179184
srcs = [":serviceusage_proto"],
180185
grpc_service_config = "serviceusage_grpc_service_config.json",
181186
opt_args = [
182-
"warehouse-package-name=google-cloud-service-usage",
183-
"python-gapic-namespace=google.cloud",
184187
"python-gapic-name=service_usage",
188+
"python-gapic-namespace=google.cloud",
189+
"warehouse-package-name=google-cloud-service-usage",
185190
],
186191
rest_numeric_enums = True,
187192
service_yaml = "serviceusage_v1.yaml",
188193
transport = "grpc+rest",
194+
deps = [
195+
],
189196
)
190197

191198
py_test(
@@ -206,6 +213,16 @@ py_gapic_assembly_pkg(
206213
],
207214
)
208215

216+
##############################################################################
217+
# PHP
218+
##############################################################################
219+
load(
220+
"@com_google_googleapis_imports//:imports.bzl",
221+
"php_gapic_assembly_pkg",
222+
"php_gapic_library",
223+
"php_proto_library",
224+
)
225+
209226
php_proto_library(
210227
name = "serviceusage_php_proto",
211228
deps = [":serviceusage_proto"],
@@ -219,7 +236,9 @@ php_gapic_library(
219236
rest_numeric_enums = True,
220237
service_yaml = "serviceusage_v1.yaml",
221238
transport = "grpc+rest",
222-
deps = [":serviceusage_php_proto"],
239+
deps = [
240+
":serviceusage_php_proto",
241+
],
223242
)
224243

225244
# Open Source Packages
@@ -231,6 +250,15 @@ php_gapic_assembly_pkg(
231250
],
232251
)
233252

253+
##############################################################################
254+
# Node.js
255+
##############################################################################
256+
load(
257+
"@com_google_googleapis_imports//:imports.bzl",
258+
"nodejs_gapic_assembly_pkg",
259+
"nodejs_gapic_library",
260+
)
261+
234262
nodejs_gapic_library(
235263
name = "serviceusage_nodejs_gapic",
236264
package_name = "@google-cloud/service-usage",
@@ -252,6 +280,17 @@ nodejs_gapic_assembly_pkg(
252280
],
253281
)
254282

283+
##############################################################################
284+
# Ruby
285+
##############################################################################
286+
load(
287+
"@com_google_googleapis_imports//:imports.bzl",
288+
"ruby_cloud_gapic_library",
289+
"ruby_gapic_assembly_pkg",
290+
"ruby_grpc_library",
291+
"ruby_proto_library",
292+
)
293+
255294
ruby_proto_library(
256295
name = "serviceusage_ruby_proto",
257296
deps = [":serviceusage_proto"],
@@ -267,17 +306,18 @@ ruby_cloud_gapic_library(
267306
name = "serviceusage_ruby_gapic",
268307
srcs = [":serviceusage_proto_with_info"],
269308
extra_protoc_parameters = [
270-
"ruby-cloud-gem-name=google-cloud-service_usage-v1",
271-
"ruby-cloud-env-prefix=SERVICE_USAGE",
272-
"ruby-cloud-product-url=https://cloud.google.com/service-usage/",
273309
"ruby-cloud-api-id=serviceusage.googleapis.com",
274310
"ruby-cloud-api-shortname=serviceusage",
311+
"ruby-cloud-env-prefix=SERVICE_USAGE",
312+
"ruby-cloud-gem-name=google-cloud-service_usage-v1",
313+
"ruby-cloud-product-url=https://cloud.google.com/service-usage/",
275314
],
276315
grpc_service_config = "serviceusage_grpc_service_config.json",
277316
rest_numeric_enums = True,
278317
ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.",
279318
ruby_cloud_title = "Service Usage V1",
280319
service_yaml = "serviceusage_v1.yaml",
320+
transport = "grpc+rest",
281321
deps = [
282322
":serviceusage_ruby_grpc",
283323
":serviceusage_ruby_proto",
@@ -294,8 +334,20 @@ ruby_gapic_assembly_pkg(
294334
],
295335
)
296336

337+
##############################################################################
338+
# C#
339+
##############################################################################
340+
load(
341+
"@com_google_googleapis_imports//:imports.bzl",
342+
"csharp_gapic_assembly_pkg",
343+
"csharp_gapic_library",
344+
"csharp_grpc_library",
345+
"csharp_proto_library",
346+
)
347+
297348
csharp_proto_library(
298349
name = "serviceusage_csharp_proto",
350+
extra_opts = [],
299351
deps = [":serviceusage_proto"],
300352
)
301353

@@ -329,6 +381,15 @@ csharp_gapic_assembly_pkg(
329381
],
330382
)
331383

384+
##############################################################################
385+
# C++
386+
##############################################################################
387+
load(
388+
"@com_google_googleapis_imports//:imports.bzl",
389+
"cc_grpc_library",
390+
"cc_proto_library",
391+
)
392+
332393
cc_proto_library(
333394
name = "serviceusage_cc_proto",
334395
deps = [":serviceusage_proto"],

google/api/serviceusage/v1/resources.proto

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2021 Google LLC
1+
// Copyright 2023 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@ import "google/api/endpoint.proto";
2222
import "google/api/monitored_resource.proto";
2323
import "google/api/monitoring.proto";
2424
import "google/api/quota.proto";
25+
import "google/api/resource.proto";
2526
import "google/api/usage.proto";
2627
import "google/protobuf/api.proto";
2728

@@ -35,6 +36,13 @@ option ruby_package = "Google::Cloud::ServiceUsage::V1";
3536

3637
// A service that is available for use by the consumer.
3738
message Service {
39+
option (google.api.resource) = {
40+
type: "serviceusage.googleapis.com/Service"
41+
pattern: "projects/{project}/services/{service}"
42+
pattern: "folders/{folder}/services/{service}"
43+
pattern: "organizations/{organization}/services/{service}"
44+
};
45+
3846
// The resource name of the consumer and service.
3947
//
4048
// A valid name would be:
@@ -105,7 +113,8 @@ message ServiceConfig {
105113
repeated google.api.Endpoint endpoints = 18;
106114

107115
// Defines the monitored resources used by this service. This is required
108-
// by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
116+
// by the [Service.monitoring][google.api.Service.monitoring] and
117+
// [Service.logging][google.api.Service.logging] configurations.
109118
repeated google.api.MonitoredResourceDescriptor monitored_resources = 25;
110119

111120
// Monitoring configuration.

0 commit comments

Comments
 (0)