Add GAPIC cofiguration for v1 client library genetration.

PiperOrigin-RevId: 302928200
This commit is contained in:
Google APIs 2020-03-25 11:09:21 -07:00 committed by Copybara-Service
parent 1b0fff5f2e
commit 733cb282ae
3 changed files with 243 additions and 37 deletions

View File

@ -7,6 +7,7 @@ package(default_visibility = ["//visibility:public"])
# Common
##############################################################################
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
proto_library(
name = "datacatalog_proto",
@ -33,11 +34,22 @@ proto_library(
],
)
proto_library_with_info(
name = "datacatalog_proto_with_info",
deps = [
":datacatalog_proto",
"//google/cloud:common_resources_proto",
],
)
##############################################################################
# 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",
)
@ -53,12 +65,50 @@ java_grpc_library(
deps = [":datacatalog_java_proto"],
)
java_gapic_library(
name = "datacatalog_java_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
test_deps = [
":datacatalog_java_grpc",
"//google/iam/v1:iam_java_grpc",
],
deps = [
":datacatalog_java_proto",
"//google/iam/v1:iam_java_proto",
],
)
java_gapic_test(
name = "datacatalog_java_gapic_test_suite",
test_classes = [
"com.google.cloud.datacatalog.v1.DataCatalogClientTest",
],
runtime_deps = [":datacatalog_java_gapic_test"],
)
# Open Source Packages
java_gapic_assembly_gradle_pkg(
name = "google-cloud-datacatalog-v1-java",
deps = [
":datacatalog_java_gapic",
":datacatalog_java_grpc",
":datacatalog_java_proto",
":datacatalog_proto",
],
)
##############################################################################
# Go
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"go_gapic_assembly_pkg",
"go_gapic_library",
"go_proto_library",
"go_test",
)
go_proto_library(
@ -72,12 +122,43 @@ go_proto_library(
],
)
go_gapic_library(
name = "datacatalog_go_gapic",
srcs = [":datacatalog_proto_with_info"],
grpc_service_config = "datacatalog_grpc_service_config.json",
importpath = "cloud.google.com/go/datacatalog/apiv1;datacatalog",
service_yaml = "datacatalog_v1.yaml",
deps = [
":datacatalog_go_proto",
"//google/iam/v1:iam_go_proto",
],
)
go_test(
name = "datacatalog_go_gapic_test",
srcs = [":datacatalog_go_gapic_srcjar_test"],
embed = [":datacatalog_go_gapic"],
importpath = "cloud.google.com/go/datacatalog/apiv1",
)
# Open Source Packages
go_gapic_assembly_pkg(
name = "gapi-cloud-datacatalog-v1-go",
deps = [
":datacatalog_go_gapic",
":datacatalog_go_gapic_srcjar-test.srcjar",
":datacatalog_go_proto",
],
)
##############################################################################
# Python
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"moved_proto_library",
"py_gapic_assembly_pkg",
"py_gapic_library",
"py_grpc_library",
"py_proto_library",
)
@ -110,11 +191,35 @@ py_grpc_library(
deps = [":datacatalog_py_proto"],
)
py_gapic_library(
name = "datacatalog_py_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
deps = [
":datacatalog_py_grpc",
":datacatalog_py_proto",
],
)
# Open Source Packages
py_gapic_assembly_pkg(
name = "datacatalog-v1-py",
deps = [
":datacatalog_py_gapic",
":datacatalog_py_grpc",
":datacatalog_py_proto",
],
)
##############################################################################
# PHP
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"php_gapic_assembly_pkg",
"php_gapic_library",
"php_grpc_library",
"php_proto_library",
)
@ -130,6 +235,28 @@ php_grpc_library(
deps = [":datacatalog_php_proto"],
)
php_gapic_library(
name = "datacatalog_php_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
deps = [
":datacatalog_php_grpc",
":datacatalog_php_proto",
],
)
# Open Source Packages
php_gapic_assembly_pkg(
name = "google-cloud-datacatalog-v1-php",
deps = [
":datacatalog_php_gapic",
":datacatalog_php_grpc",
":datacatalog_php_proto",
],
)
##############################################################################
# Node.js
##############################################################################
@ -139,12 +266,30 @@ load(
"nodejs_gapic_library",
)
nodejs_gapic_library(
name = "datacatalog_nodejs_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
deps = [],
)
nodejs_gapic_assembly_pkg(
name = "datacatalog-v1-nodejs",
deps = [
":datacatalog_nodejs_gapic",
":datacatalog_proto",
],
)
##############################################################################
# Ruby
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"ruby_gapic_assembly_pkg",
"ruby_gapic_library",
"ruby_grpc_library",
"ruby_proto_library",
)
@ -160,11 +305,35 @@ ruby_grpc_library(
deps = [":datacatalog_ruby_proto"],
)
ruby_gapic_library(
name = "datacatalog_ruby_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
deps = [
":datacatalog_ruby_grpc",
":datacatalog_ruby_proto",
],
)
# Open Source Packages
ruby_gapic_assembly_pkg(
name = "google-cloud-datacatalog-v1-ruby",
deps = [
":datacatalog_ruby_gapic",
":datacatalog_ruby_grpc",
":datacatalog_ruby_proto",
],
)
##############################################################################
# C#
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"csharp_gapic_assembly_pkg",
"csharp_gapic_library",
"csharp_grpc_library",
"csharp_proto_library",
)
@ -180,7 +349,29 @@ csharp_grpc_library(
deps = [":datacatalog_csharp_proto"],
)
csharp_gapic_library(
name = "datacatalog_csharp_gapic",
src = ":datacatalog_proto_with_info",
gapic_yaml = "datacatalog_gapic.yaml",
package = "google.cloud.datacatalog.v1",
service_yaml = "datacatalog_v1.yaml",
deps = [
":datacatalog_csharp_grpc",
":datacatalog_csharp_proto",
],
)
# Open Source Packages
csharp_gapic_assembly_pkg(
name = "google-cloud-datacatalog-v1-csharp",
deps = [
":datacatalog_csharp_gapic",
":datacatalog_csharp_grpc",
":datacatalog_csharp_proto",
],
)
##############################################################################
# C++
##############################################################################
# Put your C++ code here
# Put your C++ rules here

View File

@ -356,9 +356,8 @@ service DataCatalog {
// - Tag templates.
// - Entries.
// - Entry groups.
// Note, this method cannot be used to manage policies for BigQuery, Cloud
// Pub/Sub and any external Google Cloud Platform resources synced to Cloud
// Data Catalog.
// Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
// and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
@ -384,9 +383,8 @@ service DataCatalog {
// - Tag templates.
// - Entries.
// - Entry groups.
// Note, this method cannot be used to manage policies for BigQuery, Cloud
// Pub/Sub and any external Google Cloud Platform resources synced to Cloud
// Data Catalog.
// Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
// and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
@ -416,9 +414,8 @@ service DataCatalog {
// - Tag templates.
// - Entries.
// - Entry groups.
// Note, this method cannot be used to manage policies for BigQuery, Cloud
// Pub/Sub and any external Google Cloud Platform resources synced to Cloud
// Data Catalog.
// Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
// and any external Google Cloud Platform resources synced to Data Catalog.
//
// A caller is not required to have Google IAM permission to make this
// request.
@ -729,7 +726,7 @@ message LookupEntryRequest {
// Entry Metadata.
// A Data Catalog Entry resource represents another resource in Google
// Cloud Platform (such as a BigQuery dataset or a Cloud Pub/Sub topic) or
// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or
// outside of Google Cloud Platform. Clients can use the `linked_resource` field
// in the Entry resource to refer to the original resource ID of the source
// system.
@ -789,7 +786,7 @@ message Entry {
// The source system of the entry.
oneof system {
// Output only. This field indicates the entry's source system that Data Catalog
// integrates with, such as BigQuery or Cloud Pub/Sub.
// integrates with, such as BigQuery or Pub/Sub.
IntegratedSystem integrated_system = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
// This field indicates the entry's source system that Data Catalog does not
@ -804,7 +801,7 @@ message Entry {
oneof type_spec {
// Specification that applies to a Cloud Storage fileset. This is only valid
// on entries of type FILESET.
google.cloud.datacatalog.v1.GcsFilesetSpec gcs_fileset_spec = 6;
GcsFilesetSpec gcs_fileset_spec = 6;
// Specification that applies to a BigQuery table. This is only valid on
// entries of type `TABLE`.
@ -889,30 +886,6 @@ message CreateTagTemplateRequest {
TagTemplate tag_template = 2 [(google.api.field_behavior) = REQUIRED];
}
// Entry resources in Data Catalog can be of different types e.g. a BigQuery
// Table entry is of type `TABLE`. This enum describes all the possible types
// Data Catalog contains.
enum EntryType {
// Default unknown type.
ENTRY_TYPE_UNSPECIFIED = 0;
// Output only. The type of entry that has a GoogleSQL schema, including
// logical views.
TABLE = 2;
// Output only. The type of models, examples include
// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
MODEL = 5;
// Output only. An entry type which is used for streaming entries. Example:
// Cloud Pub/Sub topic.
DATA_STREAM = 3;
// An entry type which is a set of files or objects. Example:
// Cloud Storage fileset.
FILESET = 4;
}
// Request message for
// [GetTagTemplate][google.cloud.datacatalog.v1.DataCatalog.GetTagTemplate].
message GetTagTemplateRequest {
@ -1181,3 +1154,27 @@ message ListEntriesResponse {
// remain in results.
string next_page_token = 2;
}
// Entry resources in Data Catalog can be of different types e.g. a BigQuery
// Table entry is of type `TABLE`. This enum describes all the possible types
// Data Catalog contains.
enum EntryType {
// Default unknown type.
ENTRY_TYPE_UNSPECIFIED = 0;
// Output only. The type of entry that has a GoogleSQL schema, including
// logical views.
TABLE = 2;
// Output only. The type of models, examples include
// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
MODEL = 5;
// Output only. An entry type which is used for streaming entries. Example:
// Pub/Sub topic.
DATA_STREAM = 3;
// An entry type which is a set of files or objects. Example:
// Cloud Storage fileset.
FILESET = 4;
}

View File

@ -0,0 +1,18 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 2.0.0
language_settings:
java:
package_name: com.google.cloud.datacatalog.v1
python:
package_name: google.cloud.datacatalog_v1.gapic
go:
package_name: cloud.google.com/go/datacatalog/apiv1
csharp:
package_name: Google.Cloud.Datacatalog.V1
ruby:
package_name: Google::Cloud::Datacatalog::V1
php:
package_name: Google\Cloud\Datacatalog\V1
nodejs:
package_name: datacatalog.v1
domain_layer_location: google-cloud