Skip to content

Commit c018a50

Browse files
Google APIscopybara-github
authored andcommitted
feat: add BeyondCorp appconnectors API
PiperOrigin-RevId: 456537133
1 parent d0b394f commit c018a50

6 files changed

Lines changed: 1067 additions & 0 deletions

File tree

Lines changed: 326 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,326 @@
1+
# This file was automatically generated by BuildFileGenerator
2+
# https://github.com/googleapis/rules_gapic/tree/master/bazel
3+
4+
# Most of the manual changes to this file will be overwritten.
5+
# It's **only** allowed to change the following rule attribute values:
6+
# - names of *_gapic_assembly_* rules
7+
# - certain parameters of *_gapic_library rules, including but not limited to:
8+
# * extra_protoc_parameters
9+
# * extra_protoc_file_parameters
10+
# The complete list of preserved parameters can be found in the source code.
11+
12+
##############################################################################
13+
# Common
14+
##############################################################################
15+
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+
"go_gapic_assembly_pkg",
25+
"go_gapic_library",
26+
"go_proto_library",
27+
"go_test",
28+
"java_gapic_assembly_gradle_pkg",
29+
"java_gapic_library",
30+
"java_gapic_test",
31+
"java_grpc_library",
32+
"java_proto_library",
33+
"nodejs_gapic_assembly_pkg",
34+
"nodejs_gapic_library",
35+
"php_gapic_assembly_pkg",
36+
"php_gapic_library",
37+
"php_grpc_library",
38+
"php_proto_library",
39+
"proto_library_with_info",
40+
"py_gapic_assembly_pkg",
41+
"py_gapic_library",
42+
"ruby_cloud_gapic_library",
43+
"ruby_gapic_assembly_pkg",
44+
"ruby_grpc_library",
45+
"ruby_proto_library",
46+
)
47+
48+
# This is an API workspace, having public visibility by default makes perfect sense.
49+
package(default_visibility = ["//visibility:public"])
50+
51+
proto_library(
52+
name = "appconnectors_proto",
53+
srcs = [
54+
"app_connector_instance_config.proto",
55+
"app_connectors_service.proto",
56+
"resource_info.proto",
57+
],
58+
deps = [
59+
"//google/api:annotations_proto",
60+
"//google/api:client_proto",
61+
"//google/api:field_behavior_proto",
62+
"//google/api:resource_proto",
63+
"//google/longrunning:operations_proto",
64+
"@com_google_protobuf//:any_proto",
65+
"@com_google_protobuf//:field_mask_proto",
66+
"@com_google_protobuf//:timestamp_proto",
67+
],
68+
)
69+
70+
proto_library_with_info(
71+
name = "appconnectors_proto_with_info",
72+
deps = [
73+
":appconnectors_proto",
74+
"//google/cloud:common_resources_proto",
75+
"//google/cloud/location:location_proto",
76+
"//google/iam/v1:iam_policy_proto",
77+
],
78+
)
79+
80+
java_proto_library(
81+
name = "appconnectors_java_proto",
82+
deps = [":appconnectors_proto"],
83+
)
84+
85+
java_grpc_library(
86+
name = "appconnectors_java_grpc",
87+
srcs = [":appconnectors_proto"],
88+
deps = [":appconnectors_java_proto"],
89+
)
90+
91+
java_gapic_library(
92+
name = "appconnectors_java_gapic",
93+
srcs = [":appconnectors_proto_with_info"],
94+
gapic_yaml = None,
95+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
96+
service_yaml = "beyondcorp_v1.yaml",
97+
test_deps = [
98+
":appconnectors_java_grpc",
99+
"//google/cloud/location:location_java_grpc",
100+
"//google/iam/v1:iam_java_grpc",
101+
],
102+
deps = [
103+
":appconnectors_java_proto",
104+
"//google/api:api_java_proto",
105+
"//google/cloud/location:location_java_proto",
106+
"//google/iam/v1:iam_java_proto",
107+
],
108+
)
109+
110+
java_gapic_test(
111+
name = "appconnectors_java_gapic_test_suite",
112+
test_classes = [
113+
"com.google.cloud.beyondcorp.appconnectors.v1.AppConnectorsServiceClientTest",
114+
],
115+
runtime_deps = [":appconnectors_java_gapic_test"],
116+
)
117+
118+
# Open Source Packages
119+
java_gapic_assembly_gradle_pkg(
120+
name = "google-cloud-beyondcorp-appconnectors-v1-java",
121+
include_samples = True,
122+
deps = [
123+
":appconnectors_java_gapic",
124+
":appconnectors_java_grpc",
125+
":appconnectors_java_proto",
126+
":appconnectors_proto",
127+
],
128+
)
129+
130+
go_proto_library(
131+
name = "appconnectors_go_proto",
132+
compilers = ["@io_bazel_rules_go//proto:go_grpc"],
133+
importpath = "google.golang.org/genproto/googleapis/cloud/beyondcorp/appconnectors/v1",
134+
protos = [":appconnectors_proto"],
135+
deps = [
136+
"//google/api:annotations_go_proto",
137+
"//google/longrunning:longrunning_go_proto",
138+
],
139+
)
140+
141+
go_gapic_library(
142+
name = "appconnectors_go_gapic",
143+
srcs = [":appconnectors_proto_with_info"],
144+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
145+
importpath = "cloud.google.com/go/beyondcorp/appconnectors/apiv1;appconnectors",
146+
metadata = True,
147+
service_yaml = "beyondcorp_v1.yaml",
148+
deps = [
149+
":appconnectors_go_proto",
150+
"//google/cloud/location:location_go_proto",
151+
"//google/iam/v1:iam_go_proto",
152+
"//google/longrunning:longrunning_go_proto",
153+
"@com_google_cloud_go//longrunning:go_default_library",
154+
"@com_google_cloud_go//longrunning/autogen:go_default_library",
155+
"@io_bazel_rules_go//proto/wkt:any_go_proto",
156+
],
157+
)
158+
159+
go_test(
160+
name = "appconnectors_go_gapic_test",
161+
srcs = [":appconnectors_go_gapic_srcjar_test"],
162+
embed = [":appconnectors_go_gapic"],
163+
importpath = "cloud.google.com/go/beyondcorp/appconnectors/apiv1",
164+
)
165+
166+
# Open Source Packages
167+
go_gapic_assembly_pkg(
168+
name = "gapi-cloud-beyondcorp-appconnectors-v1-go",
169+
deps = [
170+
":appconnectors_go_gapic",
171+
":appconnectors_go_gapic_srcjar-metadata.srcjar",
172+
":appconnectors_go_gapic_srcjar-test.srcjar",
173+
":appconnectors_go_proto",
174+
],
175+
)
176+
177+
py_gapic_library(
178+
name = "appconnectors_py_gapic",
179+
srcs = [":appconnectors_proto"],
180+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
181+
service_yaml = "beyondcorp_v1.yaml",
182+
)
183+
184+
# Open Source Packages
185+
py_gapic_assembly_pkg(
186+
name = "beyondcorp-appconnectors-v1-py",
187+
deps = [
188+
":appconnectors_py_gapic",
189+
],
190+
)
191+
192+
php_proto_library(
193+
name = "appconnectors_php_proto",
194+
deps = [":appconnectors_proto"],
195+
)
196+
197+
php_grpc_library(
198+
name = "appconnectors_php_grpc",
199+
srcs = [":appconnectors_proto"],
200+
deps = [":appconnectors_php_proto"],
201+
)
202+
203+
php_gapic_library(
204+
name = "appconnectors_php_gapic",
205+
srcs = [":appconnectors_proto_with_info"],
206+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
207+
service_yaml = "beyondcorp_v1.yaml",
208+
deps = [
209+
":appconnectors_php_grpc",
210+
":appconnectors_php_proto",
211+
],
212+
)
213+
214+
# Open Source Packages
215+
php_gapic_assembly_pkg(
216+
name = "google-cloud-beyondcorp-appconnectors-v1-php",
217+
deps = [
218+
":appconnectors_php_gapic",
219+
":appconnectors_php_grpc",
220+
":appconnectors_php_proto",
221+
],
222+
)
223+
224+
nodejs_gapic_library(
225+
name = "appconnectors_nodejs_gapic",
226+
package_name = "@google-cloud/appconnectors",
227+
src = ":appconnectors_proto_with_info",
228+
extra_protoc_parameters = ["metadata"],
229+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
230+
package = "google.cloud.beyondcorp.appconnectors.v1",
231+
service_yaml = "beyondcorp_v1.yaml",
232+
deps = [],
233+
)
234+
235+
nodejs_gapic_assembly_pkg(
236+
name = "beyondcorp-appconnectors-v1-nodejs",
237+
deps = [
238+
":appconnectors_nodejs_gapic",
239+
":appconnectors_proto",
240+
],
241+
)
242+
243+
ruby_proto_library(
244+
name = "appconnectors_ruby_proto",
245+
deps = [":appconnectors_proto"],
246+
)
247+
248+
ruby_grpc_library(
249+
name = "appconnectors_ruby_grpc",
250+
srcs = [":appconnectors_proto"],
251+
deps = [":appconnectors_ruby_proto"],
252+
)
253+
254+
ruby_cloud_gapic_library(
255+
name = "appconnectors_ruby_gapic",
256+
srcs = [":appconnectors_proto_with_info"],
257+
extra_protoc_parameters = [
258+
"ruby-cloud-gem-name=google-cloud-beyond_corp-app_connectors-v1",
259+
"ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
260+
"ruby-cloud-api-id=beyondcorp.googleapis.com",
261+
"ruby-cloud-api-shortname=beyondcorp",
262+
],
263+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
264+
ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
265+
ruby_cloud_title = "BeyondCorp AppConnectors V1",
266+
service_yaml = "beyondcorp_v1.yaml",
267+
deps = [
268+
":appconnectors_ruby_grpc",
269+
":appconnectors_ruby_proto",
270+
],
271+
)
272+
273+
# Open Source Packages
274+
ruby_gapic_assembly_pkg(
275+
name = "google-cloud-beyondcorp-appconnectors-v1-ruby",
276+
deps = [
277+
":appconnectors_ruby_gapic",
278+
":appconnectors_ruby_grpc",
279+
":appconnectors_ruby_proto",
280+
],
281+
)
282+
283+
csharp_proto_library(
284+
name = "appconnectors_csharp_proto",
285+
deps = [":appconnectors_proto"],
286+
)
287+
288+
csharp_grpc_library(
289+
name = "appconnectors_csharp_grpc",
290+
srcs = [":appconnectors_proto"],
291+
deps = [":appconnectors_csharp_proto"],
292+
)
293+
294+
csharp_gapic_library(
295+
name = "appconnectors_csharp_gapic",
296+
srcs = [":appconnectors_proto_with_info"],
297+
common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
298+
grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
299+
service_yaml = "beyondcorp_v1.yaml",
300+
deps = [
301+
":appconnectors_csharp_grpc",
302+
":appconnectors_csharp_proto",
303+
],
304+
)
305+
306+
# Open Source Packages
307+
csharp_gapic_assembly_pkg(
308+
name = "google-cloud-beyondcorp-appconnectors-v1-csharp",
309+
deps = [
310+
":appconnectors_csharp_gapic",
311+
":appconnectors_csharp_grpc",
312+
":appconnectors_csharp_proto",
313+
],
314+
)
315+
316+
cc_proto_library(
317+
name = "appconnectors_cc_proto",
318+
deps = [":appconnectors_proto"],
319+
)
320+
321+
cc_grpc_library(
322+
name = "appconnectors_cc_grpc",
323+
srcs = [":appconnectors_proto"],
324+
grpc_only = True,
325+
deps = [":appconnectors_cc_proto"],
326+
)
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Copyright 2022 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.beyondcorp.appconnectors.v1;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/protobuf/any.proto";
21+
22+
option csharp_namespace = "Google.Cloud.BeyondCorp.AppConnectors.V1";
23+
option go_package = "google.golang.org/genproto/googleapis/cloud/beyondcorp/appconnectors/v1;appconnectors";
24+
option java_multiple_files = true;
25+
option java_outer_classname = "AppConnectorInstanceConfigProto";
26+
option java_package = "com.google.cloud.beyondcorp.appconnectors.v1";
27+
option php_namespace = "Google\\Cloud\\BeyondCorp\\AppConnectors\\V1";
28+
option ruby_package = "Google::Cloud::BeyondCorp::AppConnectors::V1";
29+
30+
// AppConnectorInstanceConfig defines the instance config of a AppConnector.
31+
message AppConnectorInstanceConfig {
32+
// Required. A monotonically increasing number generated and maintained
33+
// by the API provider. Every time a config changes in the backend, the
34+
// sequenceNumber should be bumped up to reflect the change.
35+
int64 sequence_number = 1 [(google.api.field_behavior) = REQUIRED];
36+
37+
// The SLM instance agent configuration.
38+
google.protobuf.Any instance_config = 2;
39+
40+
// NotificationConfig defines the notification mechanism that the remote
41+
// instance should subscribe to in order to receive notification.
42+
NotificationConfig notification_config = 3;
43+
44+
// ImageConfig defines the GCR images to run for the remote agent's control
45+
// plane.
46+
ImageConfig image_config = 4;
47+
}
48+
49+
// NotificationConfig defines the mechanisms to notify instance agent.
50+
message NotificationConfig {
51+
// The configuration for Pub/Sub messaging for the AppConnector.
52+
message CloudPubSubNotificationConfig {
53+
// The Pub/Sub subscription the AppConnector uses to receive notifications.
54+
string pubsub_subscription = 1;
55+
}
56+
57+
oneof config {
58+
// Cloud Pub/Sub Configuration to receive notifications.
59+
CloudPubSubNotificationConfig pubsub_notification = 1;
60+
}
61+
}
62+
63+
// ImageConfig defines the control plane images to run.
64+
message ImageConfig {
65+
// The initial image the remote agent will attempt to run for the control
66+
// plane.
67+
string target_image = 1;
68+
69+
// The stable image that the remote agent will fallback to if the target image
70+
// fails.
71+
string stable_image = 2;
72+
}

0 commit comments

Comments
 (0)