Skip to content

Commit

Permalink
feat: introduce resource class serviceusage.googleapis.com/Service
Browse files Browse the repository at this point in the history
feat: added ConsumerQuotaLimit.supported_locations
feat: added ProducerQuotaPolicy message and QuotaBucket.producer_quota_policy field
chore: reformatted protos

PiperOrigin-RevId: 565811363
  • Loading branch information
Google APIs authored and Copybara-Service committed Sep 15, 2023
1 parent 5a3d2f6 commit 57d9a31
Show file tree
Hide file tree
Showing 9 changed files with 439 additions and 133 deletions.
45 changes: 45 additions & 0 deletions google/api/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,15 @@ go_proto_library(
deps = [":api_go_proto"],
)

go_proto_library(
name = "auth_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/auth",
protos = [
":auth_proto",
],
deps = [":api_go_proto"],
)

go_proto_library(
name = "client_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
Expand All @@ -392,6 +401,24 @@ go_proto_library(
protos = [":distribution_proto"],
)

go_proto_library(
name = "documentation_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/documentation",
protos = [
":documentation_proto",
],
deps = [":api_go_proto"],
)

go_proto_library(
name = "endpoint_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/endpoint",
protos = [
":endpoint_proto",
],
deps = [":api_go_proto"],
)

go_proto_library(
name = "field_behavior_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
Expand Down Expand Up @@ -438,6 +465,15 @@ go_proto_library(
],
)

go_proto_library(
name = "monitoring_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/monitoring",
protos = [
":monitoring_proto",
],
deps = [":api_go_proto"],
)

go_proto_library(
name = "resource_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/annotations;annotations",
Expand Down Expand Up @@ -480,6 +516,15 @@ go_proto_library(
],
)

go_proto_library(
name = "usage_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/usage",
protos = [
":usage_proto",
],
deps = [":api_go_proto"],
)

go_proto_library(
name = "visibility_go_proto",
importpath = "google.golang.org/genproto/googleapis/api/visibility;visibility",
Expand Down
133 changes: 97 additions & 36 deletions google/api/serviceusage/v1/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,14 @@
# * extra_protoc_file_parameters
# The complete list of preserved parameters can be found in the source code.

# This is an API workspace, having public visibility by default makes perfect sense.
package(default_visibility = ["//visibility:public"])

##############################################################################
# Common
##############################################################################
load("@rules_proto//proto:defs.bzl", "proto_library")
load(
"@com_google_googleapis_imports//:imports.bzl",
"cc_grpc_library",
"cc_proto_library",
"csharp_gapic_assembly_pkg",
"csharp_gapic_library",
"csharp_grpc_library",
"csharp_proto_library",
"java_gapic_assembly_gradle_pkg",
"java_gapic_library",
"java_gapic_test",
"java_grpc_library",
"java_proto_library",
"nodejs_gapic_assembly_pkg",
"nodejs_gapic_library",
"php_gapic_assembly_pkg",
"php_gapic_library",
"php_proto_library",
"proto_library_with_info",
"py_gapic_assembly_pkg",
"py_gapic_library",
"py_test",
"ruby_cloud_gapic_library",
"ruby_gapic_assembly_pkg",
"ruby_grpc_library",
"ruby_proto_library",
)

# This is an API workspace, having public visibility by default makes perfect sense.
package(default_visibility = ["//visibility:public"])
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")

proto_library(
name = "serviceusage_proto",
Expand All @@ -59,6 +33,7 @@ proto_library(
"//google/api:monitored_resource_proto",
"//google/api:monitoring_proto",
"//google/api:quota_proto",
"//google/api:resource_proto",
"//google/api:usage_proto",
"//google/longrunning:operations_proto",
"@com_google_protobuf//:api_proto",
Expand All @@ -73,6 +48,18 @@ proto_library_with_info(
],
)

##############################################################################
# Java
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"java_gapic_assembly_gradle_pkg",
"java_gapic_library",
"java_gapic_test",
"java_grpc_library",
"java_proto_library",
)

java_proto_library(
name = "serviceusage_java_proto",
deps = [":serviceusage_proto"],
Expand All @@ -87,6 +74,7 @@ java_grpc_library(
java_gapic_library(
name = "serviceusage_java_gapic",
srcs = [":serviceusage_proto_with_info"],
gapic_yaml = None,
grpc_service_config = "serviceusage_grpc_service_config.json",
rest_numeric_enums = True,
service_yaml = "serviceusage_v1.yaml",
Expand Down Expand Up @@ -139,8 +127,13 @@ go_proto_library(
protos = [":serviceusage_proto"],
deps = [
"//google/api:annotations_go_proto",
"//google/api:auth_go_proto",
"//google/api:documentation_go_proto",
"//google/api:endpoint_go_proto",
"//google/api:monitoredres_go_proto",
"//google/api:monitoring_go_proto",
"//google/api:serviceconfig_go_proto",
"//google/api:usage_go_proto",
"//google/longrunning:longrunning_go_proto",
],
)
Expand All @@ -152,10 +145,12 @@ go_gapic_library(
importpath = "cloud.google.com/go/serviceusage/apiv1;serviceusage",
metadata = True,
release_level = "ga",
rest_numeric_enums = False,
service_yaml = "serviceusage_v1.yaml",
transport = "grpc+rest",
deps = [
":serviceusage_go_proto",
"//google/api:monitoredres_go_proto",
"//google/longrunning:longrunning_go_proto",
"@com_google_cloud_go_longrunning//:go_default_library",
"@com_google_cloud_go_longrunning//autogen:go_default_library",
Expand All @@ -174,18 +169,30 @@ go_gapic_assembly_pkg(
],
)

##############################################################################
# Python
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"py_gapic_assembly_pkg",
"py_gapic_library",
"py_test",
)

py_gapic_library(
name = "serviceusage_py_gapic",
srcs = [":serviceusage_proto"],
grpc_service_config = "serviceusage_grpc_service_config.json",
opt_args = [
"warehouse-package-name=google-cloud-service-usage",
"python-gapic-namespace=google.cloud",
"python-gapic-name=service_usage",
"python-gapic-namespace=google.cloud",
"warehouse-package-name=google-cloud-service-usage",
],
rest_numeric_enums = True,
service_yaml = "serviceusage_v1.yaml",
transport = "grpc+rest",
deps = [
],
)

py_test(
Expand All @@ -206,6 +213,16 @@ py_gapic_assembly_pkg(
],
)

##############################################################################
# PHP
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"php_gapic_assembly_pkg",
"php_gapic_library",
"php_proto_library",
)

php_proto_library(
name = "serviceusage_php_proto",
deps = [":serviceusage_proto"],
Expand All @@ -219,7 +236,9 @@ php_gapic_library(
rest_numeric_enums = True,
service_yaml = "serviceusage_v1.yaml",
transport = "grpc+rest",
deps = [":serviceusage_php_proto"],
deps = [
":serviceusage_php_proto",
],
)

# Open Source Packages
Expand All @@ -231,6 +250,15 @@ php_gapic_assembly_pkg(
],
)

##############################################################################
# Node.js
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"nodejs_gapic_assembly_pkg",
"nodejs_gapic_library",
)

nodejs_gapic_library(
name = "serviceusage_nodejs_gapic",
package_name = "@google-cloud/service-usage",
Expand All @@ -252,6 +280,17 @@ nodejs_gapic_assembly_pkg(
],
)

##############################################################################
# Ruby
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"ruby_cloud_gapic_library",
"ruby_gapic_assembly_pkg",
"ruby_grpc_library",
"ruby_proto_library",
)

ruby_proto_library(
name = "serviceusage_ruby_proto",
deps = [":serviceusage_proto"],
Expand All @@ -267,17 +306,18 @@ ruby_cloud_gapic_library(
name = "serviceusage_ruby_gapic",
srcs = [":serviceusage_proto_with_info"],
extra_protoc_parameters = [
"ruby-cloud-gem-name=google-cloud-service_usage-v1",
"ruby-cloud-env-prefix=SERVICE_USAGE",
"ruby-cloud-product-url=https://cloud.google.com/service-usage/",
"ruby-cloud-api-id=serviceusage.googleapis.com",
"ruby-cloud-api-shortname=serviceusage",
"ruby-cloud-env-prefix=SERVICE_USAGE",
"ruby-cloud-gem-name=google-cloud-service_usage-v1",
"ruby-cloud-product-url=https://cloud.google.com/service-usage/",
],
grpc_service_config = "serviceusage_grpc_service_config.json",
rest_numeric_enums = True,
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.",
ruby_cloud_title = "Service Usage V1",
service_yaml = "serviceusage_v1.yaml",
transport = "grpc+rest",
deps = [
":serviceusage_ruby_grpc",
":serviceusage_ruby_proto",
Expand All @@ -294,8 +334,20 @@ ruby_gapic_assembly_pkg(
],
)

##############################################################################
# C#
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"csharp_gapic_assembly_pkg",
"csharp_gapic_library",
"csharp_grpc_library",
"csharp_proto_library",
)

csharp_proto_library(
name = "serviceusage_csharp_proto",
extra_opts = [],
deps = [":serviceusage_proto"],
)

Expand Down Expand Up @@ -329,6 +381,15 @@ csharp_gapic_assembly_pkg(
],
)

##############################################################################
# C++
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"cc_grpc_library",
"cc_proto_library",
)

cc_proto_library(
name = "serviceusage_cc_proto",
deps = [":serviceusage_proto"],
Expand Down
13 changes: 11 additions & 2 deletions google/api/serviceusage/v1/resources.proto
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2021 Google LLC
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -22,6 +22,7 @@ import "google/api/endpoint.proto";
import "google/api/monitored_resource.proto";
import "google/api/monitoring.proto";
import "google/api/quota.proto";
import "google/api/resource.proto";
import "google/api/usage.proto";
import "google/protobuf/api.proto";

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

// A service that is available for use by the consumer.
message Service {
option (google.api.resource) = {
type: "serviceusage.googleapis.com/Service"
pattern: "projects/{project}/services/{service}"
pattern: "folders/{folder}/services/{service}"
pattern: "organizations/{organization}/services/{service}"
};

// The resource name of the consumer and service.
//
// A valid name would be:
Expand Down Expand Up @@ -105,7 +113,8 @@ message ServiceConfig {
repeated google.api.Endpoint endpoints = 18;

// Defines the monitored resources used by this service. This is required
// by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
// by the [Service.monitoring][google.api.Service.monitoring] and
// [Service.logging][google.api.Service.logging] configurations.
repeated google.api.MonitoredResourceDescriptor monitored_resources = 25;

// Monitoring configuration.
Expand Down
Loading

0 comments on commit 57d9a31

Please sign in to comment.