vagrant-unbundled 2.3.2.0 → 2.3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +12 -12
- data/LICENSE +1 -3
- data/lib/vagrant/errors.rb +4 -0
- data/lib/vagrant/util/install_cli_autocomplete.rb +3 -3
- data/lib/vagrant.rb +0 -3
- data/pkg/vagrant-unbundled-2.3.2.0.gem +0 -0
- data/plugins/commands/serve/command.rb +1 -1
- data/plugins/guests/solaris/cap/remove_public_key.rb +2 -2
- data/plugins/hosts/gentoo/host.rb +1 -1
- data/plugins/hosts/slackware/host.rb +1 -1
- data/plugins/providers/virtualbox/action/network.rb +8 -5
- data/plugins/providers/virtualbox/driver/base.rb +3 -1
- data/plugins/providers/virtualbox/driver/version_5_0.rb +40 -36
- data/plugins/providers/virtualbox/driver/version_7_0.rb +223 -5
- data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +1 -1
- data/plugins/provisioners/ansible/provisioner/host.rb +1 -1
- data/plugins/provisioners/chef/config/chef_zero.rb +1 -1
- data/plugins/synced_folders/rsync/helper.rb +1 -0
- data/templates/locales/en.yml +4 -0
- data/thirdparty/proto/api-common-protos/.bazelrc +2 -0
- data/thirdparty/proto/api-common-protos/.git +1 -0
- data/thirdparty/proto/api-common-protos/.gitignore +11 -0
- data/thirdparty/proto/api-common-protos/BUILD.bazel +129 -0
- data/thirdparty/proto/api-common-protos/CODE_OF_CONDUCT.md +43 -0
- data/thirdparty/proto/api-common-protos/CONTRIBUTING.md +42 -0
- data/thirdparty/proto/api-common-protos/Dockerfile +18 -0
- data/thirdparty/proto/api-common-protos/LICENSE +201 -0
- data/thirdparty/proto/api-common-protos/README.md +113 -0
- data/thirdparty/proto/api-common-protos/SECURITY.md +7 -0
- data/thirdparty/proto/api-common-protos/WORKSPACE +154 -0
- data/thirdparty/proto/api-common-protos/google/api/BUILD.bazel +246 -0
- data/thirdparty/proto/api-common-protos/google/api/README.md +46 -0
- data/thirdparty/proto/api-common-protos/google/api/annotations.proto +31 -0
- data/thirdparty/proto/api-common-protos/google/api/auth.proto +181 -0
- data/thirdparty/proto/api-common-protos/google/api/backend.proto +51 -0
- data/thirdparty/proto/api-common-protos/google/api/billing.proto +67 -0
- data/thirdparty/proto/api-common-protos/google/api/client.proto +99 -0
- data/thirdparty/proto/api-common-protos/google/api/config_change.proto +85 -0
- data/thirdparty/proto/api-common-protos/google/api/consumer.proto +83 -0
- data/thirdparty/proto/api-common-protos/google/api/context.proto +63 -0
- data/thirdparty/proto/api-common-protos/google/api/control.proto +33 -0
- data/thirdparty/proto/api-common-protos/google/api/distribution.proto +213 -0
- data/thirdparty/proto/api-common-protos/google/api/documentation.proto +157 -0
- data/thirdparty/proto/api-common-protos/google/api/endpoint.proto +71 -0
- data/thirdparty/proto/api-common-protos/google/api/field_behavior.proto +84 -0
- data/thirdparty/proto/api-common-protos/google/api/http.proto +318 -0
- data/thirdparty/proto/api-common-protos/google/api/httpbody.proto +76 -0
- data/thirdparty/proto/api-common-protos/google/api/label.proto +49 -0
- data/thirdparty/proto/api-common-protos/google/api/launch_stage.proto +67 -0
- data/thirdparty/proto/api-common-protos/google/api/log.proto +55 -0
- data/thirdparty/proto/api-common-protos/google/api/logging.proto +83 -0
- data/thirdparty/proto/api-common-protos/google/api/metric.proto +192 -0
- data/thirdparty/proto/api-common-protos/google/api/monitored_resource.proto +116 -0
- data/thirdparty/proto/api-common-protos/google/api/monitoring.proto +89 -0
- data/thirdparty/proto/api-common-protos/google/api/quota.proto +259 -0
- data/thirdparty/proto/api-common-protos/google/api/resource.proto +299 -0
- data/thirdparty/proto/api-common-protos/google/api/routing.proto +461 -0
- data/thirdparty/proto/api-common-protos/google/api/service.proto +175 -0
- data/thirdparty/proto/api-common-protos/google/api/source_info.proto +32 -0
- data/thirdparty/proto/api-common-protos/google/api/system_parameter.proto +96 -0
- data/thirdparty/proto/api-common-protos/google/api/usage.proto +92 -0
- data/thirdparty/proto/api-common-protos/google/cloud/extended_operations.proto +150 -0
- data/thirdparty/proto/api-common-protos/google/iam/README.md +14 -0
- data/thirdparty/proto/api-common-protos/google/iam/admin/v1/iam.proto +1087 -0
- data/thirdparty/proto/api-common-protos/google/iam/v1/iam_policy.proto +145 -0
- data/thirdparty/proto/api-common-protos/google/iam/v1/logging/audit_data.proto +34 -0
- data/thirdparty/proto/api-common-protos/google/iam/v1/options.proto +41 -0
- data/thirdparty/proto/api-common-protos/google/iam/v1/policy.proto +240 -0
- data/thirdparty/proto/api-common-protos/google/logging/type/README.md +12 -0
- data/thirdparty/proto/api-common-protos/google/logging/type/http_request.proto +92 -0
- data/thirdparty/proto/api-common-protos/google/logging/type/log_severity.proto +72 -0
- data/thirdparty/proto/api-common-protos/google/longrunning/README.md +31 -0
- data/thirdparty/proto/api-common-protos/google/longrunning/operations.proto +247 -0
- data/thirdparty/proto/api-common-protos/google/rpc/README.md +18 -0
- data/thirdparty/proto/api-common-protos/google/rpc/code.proto +186 -0
- data/thirdparty/proto/api-common-protos/google/rpc/context/attribute_context.proto +287 -0
- data/thirdparty/proto/api-common-protos/google/rpc/error_details.proto +246 -0
- data/thirdparty/proto/api-common-protos/google/rpc/status.proto +47 -0
- data/thirdparty/proto/api-common-protos/google/type/README.md +7 -0
- data/thirdparty/proto/api-common-protos/google/type/calendar_period.proto +57 -0
- data/thirdparty/proto/api-common-protos/google/type/color.proto +170 -0
- data/thirdparty/proto/api-common-protos/google/type/date.proto +50 -0
- data/thirdparty/proto/api-common-protos/google/type/datetime.proto +97 -0
- data/thirdparty/proto/api-common-protos/google/type/dayofweek.proto +51 -0
- data/thirdparty/proto/api-common-protos/google/type/expr.proto +51 -0
- data/thirdparty/proto/api-common-protos/google/type/fraction.proto +34 -0
- data/thirdparty/proto/api-common-protos/google/type/latlng.proto +37 -0
- data/thirdparty/proto/api-common-protos/google/type/money.proto +43 -0
- data/thirdparty/proto/api-common-protos/google/type/month.proto +66 -0
- data/thirdparty/proto/api-common-protos/google/type/postal_address.proto +135 -0
- data/thirdparty/proto/api-common-protos/google/type/quaternion.proto +95 -0
- data/thirdparty/proto/api-common-protos/google/type/timeofday.proto +44 -0
- data/thirdparty/proto/api-common-protos/renovate.json +5 -0
- data/thirdparty/proto/api-common-protos/repository_rules.bzl +222 -0
- data/vagrant.gemspec +4 -4
- data/version.txt +1 -1
- metadata +89 -20
- data/lib/vagrant/patches/net-ssh.rb +0 -286
@@ -0,0 +1,154 @@
|
|
1
|
+
workspace(name = "com_google_googleapis")
|
2
|
+
|
3
|
+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
4
|
+
|
5
|
+
##############################################################################
|
6
|
+
# Common
|
7
|
+
##############################################################################
|
8
|
+
|
9
|
+
load("//:repository_rules.bzl", "switched_rules_by_language")
|
10
|
+
|
11
|
+
switched_rules_by_language(
|
12
|
+
name = "com_google_googleapis_imports",
|
13
|
+
cc = True,
|
14
|
+
gapic = True,
|
15
|
+
go = True,
|
16
|
+
grpc = True,
|
17
|
+
java = True,
|
18
|
+
nodejs = True,
|
19
|
+
php = True,
|
20
|
+
)
|
21
|
+
|
22
|
+
# Note gapic-generator contains java-specific and common code, that is why it is imported in common
|
23
|
+
# section
|
24
|
+
http_archive(
|
25
|
+
name = "com_google_api_codegen",
|
26
|
+
strip_prefix = "gapic-generator-c075bbe8eff3a1094a03cd77474d8dbcb010f954",
|
27
|
+
urls = ["https://github.com/googleapis/gapic-generator/archive/c075bbe8eff3a1094a03cd77474d8dbcb010f954.zip"],
|
28
|
+
)
|
29
|
+
|
30
|
+
##############################################################################
|
31
|
+
# Java
|
32
|
+
##############################################################################
|
33
|
+
|
34
|
+
# java_gapic artifacts runtime dependencies (gax-java)
|
35
|
+
#
|
36
|
+
# Keeping it here to see how this goes (what will be more maintainable: direct import of gax or via
|
37
|
+
# gapic-generator).
|
38
|
+
#
|
39
|
+
#load("@com_google_api_codegen//rules_gapic/java:java_gapic_repositories.bzl", "java_gapic_repositories")
|
40
|
+
#
|
41
|
+
#java_gapic_repositories()
|
42
|
+
|
43
|
+
http_archive(
|
44
|
+
name = "com_google_api_gax_java",
|
45
|
+
strip_prefix = "gax-java-6b170195c18e0d8abc8385ef063d6da9773f87de",
|
46
|
+
urls = ["https://github.com/googleapis/gax-java/archive/6b170195c18e0d8abc8385ef063d6da9773f87de.zip"],
|
47
|
+
)
|
48
|
+
|
49
|
+
load("@com_google_api_gax_java//:repository_rules.bzl", "com_google_api_gax_java_properties")
|
50
|
+
|
51
|
+
com_google_api_gax_java_properties(
|
52
|
+
name = "com_google_api_gax_java_properties",
|
53
|
+
file = "@com_google_api_gax_java//:dependencies.properties",
|
54
|
+
)
|
55
|
+
|
56
|
+
load("@com_google_api_gax_java//:repositories.bzl", "com_google_api_gax_java_repositories")
|
57
|
+
|
58
|
+
com_google_api_gax_java_repositories()
|
59
|
+
|
60
|
+
# gapic-generator transitive
|
61
|
+
# (goes AFTER java-gax, since both java gax and gapic-generator are written in java and may conflict)
|
62
|
+
load("@com_google_api_codegen//:repository_rules.bzl", "com_google_api_codegen_properties")
|
63
|
+
|
64
|
+
com_google_api_codegen_properties(
|
65
|
+
name = "com_google_api_codegen_properties",
|
66
|
+
file = "@com_google_api_codegen//:dependencies.properties",
|
67
|
+
)
|
68
|
+
|
69
|
+
load("@com_google_api_codegen//:repositories.bzl", "com_google_api_codegen_repositories")
|
70
|
+
|
71
|
+
com_google_api_codegen_repositories()
|
72
|
+
|
73
|
+
# protoc-java-resource-names-plugin (loaded in com_google_api_codegen_repositories())
|
74
|
+
# (required to support resource names feature in gapic generator)
|
75
|
+
load(
|
76
|
+
"@com_google_protoc_java_resource_names_plugin//:repositories.bzl",
|
77
|
+
"com_google_protoc_java_resource_names_plugin_repositories",
|
78
|
+
)
|
79
|
+
|
80
|
+
com_google_protoc_java_resource_names_plugin_repositories(omit_com_google_protobuf = True)
|
81
|
+
|
82
|
+
##############################################################################
|
83
|
+
# Go
|
84
|
+
##############################################################################
|
85
|
+
|
86
|
+
# rules_go (support Golang under bazel)
|
87
|
+
http_archive(
|
88
|
+
name = "io_bazel_rules_go",
|
89
|
+
sha256 = "a82a352bffae6bee4e95f68a8d80a70e87f42c4741e6a448bec11998fcc82329",
|
90
|
+
url = "https://github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz",
|
91
|
+
)
|
92
|
+
|
93
|
+
load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
|
94
|
+
|
95
|
+
go_rules_dependencies()
|
96
|
+
|
97
|
+
go_register_toolchains()
|
98
|
+
|
99
|
+
# bazel-gazelle (support Golang under bazel)
|
100
|
+
http_archive(
|
101
|
+
name = "bazel_gazelle",
|
102
|
+
strip_prefix = "bazel-gazelle-0.17.0",
|
103
|
+
urls = ["https://github.com/bazelbuild/bazel-gazelle/archive/0.17.0.zip"],
|
104
|
+
)
|
105
|
+
|
106
|
+
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
|
107
|
+
|
108
|
+
gazelle_dependencies()
|
109
|
+
|
110
|
+
# go_gapic artifacts runtime dependencies (gax-go)
|
111
|
+
load("@com_google_api_codegen//rules_gapic/go:go_gapic_repositories.bzl", "go_gapic_repositories")
|
112
|
+
|
113
|
+
go_gapic_repositories()
|
114
|
+
|
115
|
+
##############################################################################
|
116
|
+
# C++
|
117
|
+
##############################################################################
|
118
|
+
|
119
|
+
http_archive(
|
120
|
+
name = "com_google_gapic_generator_cpp",
|
121
|
+
strip_prefix = "gapic-generator-cpp-2d9229952b649e53b2e986f5a3031d0d374af9e1",
|
122
|
+
urls = ["https://github.com/googleapis/gapic-generator-cpp/archive/2d9229952b649e53b2e986f5a3031d0d374af9e1.zip"],
|
123
|
+
)
|
124
|
+
|
125
|
+
load(
|
126
|
+
"@com_google_gapic_generator_cpp//gax:repositories.bzl",
|
127
|
+
"com_google_gapic_generator_cpp_gax_repositories",
|
128
|
+
)
|
129
|
+
|
130
|
+
com_google_gapic_generator_cpp_gax_repositories()
|
131
|
+
|
132
|
+
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
|
133
|
+
|
134
|
+
grpc_deps()
|
135
|
+
|
136
|
+
load(
|
137
|
+
"@com_google_gapic_generator_cpp//:repositories.bzl",
|
138
|
+
"com_google_gapic_generator_cpp_repositories",
|
139
|
+
)
|
140
|
+
|
141
|
+
com_google_gapic_generator_cpp_repositories()
|
142
|
+
|
143
|
+
##############################################################################
|
144
|
+
# PHP
|
145
|
+
##############################################################################
|
146
|
+
|
147
|
+
load("@com_google_api_codegen//rules_gapic/php:php_gapic_repositories.bzl", "php", "php_gapic_repositories")
|
148
|
+
|
149
|
+
php(
|
150
|
+
name = "php",
|
151
|
+
version = "7.1.30",
|
152
|
+
)
|
153
|
+
|
154
|
+
php_gapic_repositories()
|
@@ -0,0 +1,246 @@
|
|
1
|
+
# Copyright 2018 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
|
+
# This is an API workspace, having public visibility by default makes perfect sense.
|
16
|
+
package(default_visibility = ["//visibility:public"])
|
17
|
+
|
18
|
+
proto_library(
|
19
|
+
name = "annotations_proto",
|
20
|
+
srcs = ["annotations.proto"],
|
21
|
+
deps = [
|
22
|
+
":http_proto",
|
23
|
+
"@com_google_protobuf//:descriptor_proto",
|
24
|
+
],
|
25
|
+
)
|
26
|
+
|
27
|
+
proto_library(
|
28
|
+
name = "auth_proto",
|
29
|
+
srcs = ["auth.proto"],
|
30
|
+
deps = [
|
31
|
+
":annotations_proto",
|
32
|
+
],
|
33
|
+
)
|
34
|
+
|
35
|
+
proto_library(
|
36
|
+
name = "billing_proto",
|
37
|
+
srcs = ["billing.proto"],
|
38
|
+
deps = [
|
39
|
+
":annotations_proto",
|
40
|
+
":metric_proto",
|
41
|
+
],
|
42
|
+
)
|
43
|
+
|
44
|
+
proto_library(
|
45
|
+
name = "backend_proto",
|
46
|
+
srcs = ["backend.proto"],
|
47
|
+
visibility = ["//visibility:public"],
|
48
|
+
)
|
49
|
+
|
50
|
+
proto_library(
|
51
|
+
name = "client_proto",
|
52
|
+
srcs = ["client.proto"],
|
53
|
+
deps = [
|
54
|
+
"@com_google_protobuf//:descriptor_proto",
|
55
|
+
],
|
56
|
+
)
|
57
|
+
|
58
|
+
cc_proto_library(
|
59
|
+
name = "client_cc_proto",
|
60
|
+
deps = [":client_proto"],
|
61
|
+
)
|
62
|
+
|
63
|
+
proto_library(
|
64
|
+
name = "config_change_proto",
|
65
|
+
srcs = ["config_change.proto"],
|
66
|
+
visibility = ["//visibility:public"],
|
67
|
+
)
|
68
|
+
|
69
|
+
proto_library(
|
70
|
+
name = "consumer_proto",
|
71
|
+
srcs = ["consumer.proto"],
|
72
|
+
visibility = ["//visibility:public"],
|
73
|
+
)
|
74
|
+
|
75
|
+
proto_library(
|
76
|
+
name = "context_proto",
|
77
|
+
srcs = ["context.proto"],
|
78
|
+
visibility = ["//visibility:public"],
|
79
|
+
)
|
80
|
+
|
81
|
+
proto_library(
|
82
|
+
name = "control_proto",
|
83
|
+
srcs = ["control.proto"],
|
84
|
+
visibility = ["//visibility:public"],
|
85
|
+
)
|
86
|
+
|
87
|
+
proto_library(
|
88
|
+
name = "distribution_proto",
|
89
|
+
srcs = ["distribution.proto"],
|
90
|
+
deps = [
|
91
|
+
":annotations_proto",
|
92
|
+
"@com_google_protobuf//:any_proto",
|
93
|
+
"@com_google_protobuf//:timestamp_proto",
|
94
|
+
],
|
95
|
+
)
|
96
|
+
|
97
|
+
proto_library(
|
98
|
+
name = "documentation_proto",
|
99
|
+
srcs = ["documentation.proto"],
|
100
|
+
visibility = ["//visibility:public"],
|
101
|
+
)
|
102
|
+
|
103
|
+
proto_library(
|
104
|
+
name = "endpoint_proto",
|
105
|
+
srcs = ["endpoint.proto"],
|
106
|
+
deps = [
|
107
|
+
":annotations_proto",
|
108
|
+
],
|
109
|
+
)
|
110
|
+
|
111
|
+
proto_library(
|
112
|
+
name = "field_behavior",
|
113
|
+
srcs = ["field_behavior.proto"],
|
114
|
+
deps = [
|
115
|
+
"@com_google_protobuf//:descriptor_proto",
|
116
|
+
],
|
117
|
+
)
|
118
|
+
|
119
|
+
proto_library(
|
120
|
+
name = "http_proto",
|
121
|
+
srcs = ["http.proto"],
|
122
|
+
visibility = ["//visibility:public"],
|
123
|
+
)
|
124
|
+
|
125
|
+
proto_library(
|
126
|
+
name = "httpbody_proto",
|
127
|
+
srcs = ["httpbody.proto"],
|
128
|
+
deps = [
|
129
|
+
"@com_google_protobuf//:any_proto",
|
130
|
+
],
|
131
|
+
)
|
132
|
+
|
133
|
+
proto_library(
|
134
|
+
name = "label_proto",
|
135
|
+
srcs = ["label.proto"],
|
136
|
+
visibility = ["//visibility:public"],
|
137
|
+
)
|
138
|
+
|
139
|
+
proto_library(
|
140
|
+
name = "log_proto",
|
141
|
+
srcs = ["log.proto"],
|
142
|
+
deps = [
|
143
|
+
":label_proto",
|
144
|
+
],
|
145
|
+
)
|
146
|
+
|
147
|
+
proto_library(
|
148
|
+
name = "logging_proto",
|
149
|
+
srcs = ["logging.proto"],
|
150
|
+
deps = [
|
151
|
+
":annotations_proto",
|
152
|
+
],
|
153
|
+
)
|
154
|
+
|
155
|
+
proto_library(
|
156
|
+
name = "metric_proto",
|
157
|
+
srcs = ["metric.proto"],
|
158
|
+
deps = [
|
159
|
+
":label_proto",
|
160
|
+
],
|
161
|
+
)
|
162
|
+
|
163
|
+
proto_library(
|
164
|
+
name = "monitored_resource_proto",
|
165
|
+
srcs = ["monitored_resource.proto"],
|
166
|
+
deps = [
|
167
|
+
":label_proto",
|
168
|
+
"@com_google_protobuf//:struct_proto",
|
169
|
+
],
|
170
|
+
)
|
171
|
+
|
172
|
+
proto_library(
|
173
|
+
name = "monitoring_proto",
|
174
|
+
srcs = ["monitoring.proto"],
|
175
|
+
deps = [
|
176
|
+
":annotations_proto",
|
177
|
+
],
|
178
|
+
)
|
179
|
+
|
180
|
+
proto_library(
|
181
|
+
name = "quota_proto",
|
182
|
+
srcs = ["quota.proto"],
|
183
|
+
deps = [
|
184
|
+
":annotations_proto",
|
185
|
+
],
|
186
|
+
)
|
187
|
+
|
188
|
+
proto_library(
|
189
|
+
name = "resource_proto",
|
190
|
+
srcs = ["resource.proto"],
|
191
|
+
deps = [
|
192
|
+
"@com_google_protobuf//:descriptor_proto",
|
193
|
+
],
|
194
|
+
)
|
195
|
+
|
196
|
+
proto_library(
|
197
|
+
name = "service_proto",
|
198
|
+
srcs = ["service.proto"],
|
199
|
+
deps = [
|
200
|
+
":annotations_proto",
|
201
|
+
":auth_proto",
|
202
|
+
":backend_proto",
|
203
|
+
":billing_proto",
|
204
|
+
":context_proto",
|
205
|
+
":control_proto",
|
206
|
+
":documentation_proto",
|
207
|
+
":endpoint_proto",
|
208
|
+
":http_proto",
|
209
|
+
":label_proto",
|
210
|
+
":log_proto",
|
211
|
+
":logging_proto",
|
212
|
+
":metric_proto",
|
213
|
+
":monitored_resource_proto",
|
214
|
+
":monitoring_proto",
|
215
|
+
":quota_proto",
|
216
|
+
":source_info_proto",
|
217
|
+
":system_parameter_proto",
|
218
|
+
":usage_proto",
|
219
|
+
"@com_google_protobuf//:any_proto",
|
220
|
+
"@com_google_protobuf//:api_proto",
|
221
|
+
"@com_google_protobuf//:type_proto",
|
222
|
+
"@com_google_protobuf//:wrappers_proto",
|
223
|
+
],
|
224
|
+
)
|
225
|
+
|
226
|
+
proto_library(
|
227
|
+
name = "source_info_proto",
|
228
|
+
srcs = ["source_info.proto"],
|
229
|
+
deps = [
|
230
|
+
"@com_google_protobuf//:any_proto",
|
231
|
+
],
|
232
|
+
)
|
233
|
+
|
234
|
+
proto_library(
|
235
|
+
name = "system_parameter_proto",
|
236
|
+
srcs = ["system_parameter.proto"],
|
237
|
+
visibility = ["//visibility:public"],
|
238
|
+
)
|
239
|
+
|
240
|
+
proto_library(
|
241
|
+
name = "usage_proto",
|
242
|
+
srcs = ["usage.proto"],
|
243
|
+
deps = [
|
244
|
+
":annotations_proto",
|
245
|
+
],
|
246
|
+
)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
## API Protos
|
2
|
+
|
3
|
+
This folder contains the schema of the configuration model for Google's
|
4
|
+
internal API serving platform, which handles routing, quotas, monitoring,
|
5
|
+
logging, and the like.
|
6
|
+
|
7
|
+
Google refers to this configuration colloquially as the "service config",
|
8
|
+
and the `service.proto` file in this directory is the entry point for
|
9
|
+
understanding these.
|
10
|
+
|
11
|
+
## Using these protos
|
12
|
+
|
13
|
+
To be honest, we probably open sourced way too much of this (basically by
|
14
|
+
accident). There are a couple files in here you are most likely to be
|
15
|
+
interested in: `http.proto`, `documentation.proto`, `auth.proto`, and
|
16
|
+
`annotations.proto`.
|
17
|
+
|
18
|
+
### HTTP and REST
|
19
|
+
|
20
|
+
The `http.proto` file contains the `Http` message (which then is wrapped
|
21
|
+
in an annotation in `annotations.proto`), which provides a specification
|
22
|
+
for REST endpoints and verbs (`GET`, `POST`, etc.) on RPC methods.
|
23
|
+
We recommend use of this annotation for describing the relationship
|
24
|
+
between RPCs and REST endpoints.
|
25
|
+
|
26
|
+
### Documentation
|
27
|
+
|
28
|
+
The `documentation.proto` file contains a `Documentation` message which
|
29
|
+
provides a mechanism to fully describe an API, allowing a tool to build
|
30
|
+
structured documentation artifacts.
|
31
|
+
|
32
|
+
### Authentication
|
33
|
+
|
34
|
+
The `auth.proto` file contains descriptions of both authentication rules
|
35
|
+
and authenticaion providers, allowing you to describe what your services
|
36
|
+
expect and accept from clients.
|
37
|
+
|
38
|
+
## api-compiler
|
39
|
+
|
40
|
+
Google provides a tool called [api-compiler][], which is a tool that accepts
|
41
|
+
a protocol buffer descriptor and a YAML file specifying some of the
|
42
|
+
options described in `service.proto`, and outputs a much more thorough
|
43
|
+
`Service` descriptor based on the information it infers from the protos
|
44
|
+
themselves.
|
45
|
+
|
46
|
+
[api-compiler]: https://github.com/googleapis/api-compiler
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// Copyright (c) 2015, Google Inc.
|
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.api;
|
18
|
+
|
19
|
+
import "google/api/http.proto";
|
20
|
+
import "google/protobuf/descriptor.proto";
|
21
|
+
|
22
|
+
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
|
23
|
+
option java_multiple_files = true;
|
24
|
+
option java_outer_classname = "AnnotationsProto";
|
25
|
+
option java_package = "com.google.api";
|
26
|
+
option objc_class_prefix = "GAPI";
|
27
|
+
|
28
|
+
extend google.protobuf.MethodOptions {
|
29
|
+
// See `HttpRule`.
|
30
|
+
HttpRule http = 72295728;
|
31
|
+
}
|
@@ -0,0 +1,181 @@
|
|
1
|
+
// Copyright 2018 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.api;
|
18
|
+
|
19
|
+
import "google/api/annotations.proto";
|
20
|
+
|
21
|
+
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
|
22
|
+
option java_multiple_files = true;
|
23
|
+
option java_outer_classname = "AuthProto";
|
24
|
+
option java_package = "com.google.api";
|
25
|
+
option objc_class_prefix = "GAPI";
|
26
|
+
|
27
|
+
|
28
|
+
// `Authentication` defines the authentication configuration for an API.
|
29
|
+
//
|
30
|
+
// Example for an API targeted for external use:
|
31
|
+
//
|
32
|
+
// name: calendar.googleapis.com
|
33
|
+
// authentication:
|
34
|
+
// providers:
|
35
|
+
// - id: google_calendar_auth
|
36
|
+
// jwks_uri: https://www.googleapis.com/oauth2/v1/certs
|
37
|
+
// issuer: https://securetoken.google.com
|
38
|
+
// rules:
|
39
|
+
// - selector: "*"
|
40
|
+
// requirements:
|
41
|
+
// provider_id: google_calendar_auth
|
42
|
+
message Authentication {
|
43
|
+
// A list of authentication rules that apply to individual API methods.
|
44
|
+
//
|
45
|
+
// **NOTE:** All service configuration rules follow "last one wins" order.
|
46
|
+
repeated AuthenticationRule rules = 3;
|
47
|
+
|
48
|
+
// Defines a set of authentication providers that a service supports.
|
49
|
+
repeated AuthProvider providers = 4;
|
50
|
+
}
|
51
|
+
|
52
|
+
// Authentication rules for the service.
|
53
|
+
//
|
54
|
+
// By default, if a method has any authentication requirements, every request
|
55
|
+
// must include a valid credential matching one of the requirements.
|
56
|
+
// It's an error to include more than one kind of credential in a single
|
57
|
+
// request.
|
58
|
+
//
|
59
|
+
// If a method doesn't have any auth requirements, request credentials will be
|
60
|
+
// ignored.
|
61
|
+
message AuthenticationRule {
|
62
|
+
// Selects the methods to which this rule applies.
|
63
|
+
//
|
64
|
+
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
|
65
|
+
string selector = 1;
|
66
|
+
|
67
|
+
// The requirements for OAuth credentials.
|
68
|
+
OAuthRequirements oauth = 2;
|
69
|
+
|
70
|
+
// If true, the service accepts API keys without any other credential.
|
71
|
+
bool allow_without_credential = 5;
|
72
|
+
|
73
|
+
// Requirements for additional authentication providers.
|
74
|
+
repeated AuthRequirement requirements = 7;
|
75
|
+
}
|
76
|
+
|
77
|
+
// Configuration for an anthentication provider, including support for
|
78
|
+
// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
|
79
|
+
message AuthProvider {
|
80
|
+
// The unique identifier of the auth provider. It will be referred to by
|
81
|
+
// `AuthRequirement.provider_id`.
|
82
|
+
//
|
83
|
+
// Example: "bookstore_auth".
|
84
|
+
string id = 1;
|
85
|
+
|
86
|
+
// Identifies the principal that issued the JWT. See
|
87
|
+
// https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
|
88
|
+
// Usually a URL or an email address.
|
89
|
+
//
|
90
|
+
// Example: https://securetoken.google.com
|
91
|
+
// Example: 1234567-compute@developer.gserviceaccount.com
|
92
|
+
string issuer = 2;
|
93
|
+
|
94
|
+
// URL of the provider's public key set to validate signature of the JWT. See
|
95
|
+
// [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
|
96
|
+
// Optional if the key set document:
|
97
|
+
// - can be retrieved from
|
98
|
+
// [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
|
99
|
+
// of the issuer.
|
100
|
+
// - can be inferred from the email domain of the issuer (e.g. a Google service account).
|
101
|
+
//
|
102
|
+
// Example: https://www.googleapis.com/oauth2/v1/certs
|
103
|
+
string jwks_uri = 3;
|
104
|
+
|
105
|
+
// The list of JWT
|
106
|
+
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
|
107
|
+
// that are allowed to access. A JWT containing any of these audiences will
|
108
|
+
// be accepted. When this setting is absent, only JWTs with audience
|
109
|
+
// "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
|
110
|
+
// will be accepted. For example, if no audiences are in the setting,
|
111
|
+
// LibraryService API will only accept JWTs with the following audience
|
112
|
+
// "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
|
113
|
+
//
|
114
|
+
// Example:
|
115
|
+
//
|
116
|
+
// audiences: bookstore_android.apps.googleusercontent.com,
|
117
|
+
// bookstore_web.apps.googleusercontent.com
|
118
|
+
string audiences = 4;
|
119
|
+
|
120
|
+
// Redirect URL if JWT token is required but no present or is expired.
|
121
|
+
// Implement authorizationUrl of securityDefinitions in OpenAPI spec.
|
122
|
+
string authorization_url = 5;
|
123
|
+
}
|
124
|
+
|
125
|
+
// OAuth scopes are a way to define data and permissions on data. For example,
|
126
|
+
// there are scopes defined for "Read-only access to Google Calendar" and
|
127
|
+
// "Access to Cloud Platform". Users can consent to a scope for an application,
|
128
|
+
// giving it permission to access that data on their behalf.
|
129
|
+
//
|
130
|
+
// OAuth scope specifications should be fairly coarse grained; a user will need
|
131
|
+
// to see and understand the text description of what your scope means.
|
132
|
+
//
|
133
|
+
// In most cases: use one or at most two OAuth scopes for an entire family of
|
134
|
+
// products. If your product has multiple APIs, you should probably be sharing
|
135
|
+
// the OAuth scope across all of those APIs.
|
136
|
+
//
|
137
|
+
// When you need finer grained OAuth consent screens: talk with your product
|
138
|
+
// management about how developers will use them in practice.
|
139
|
+
//
|
140
|
+
// Please note that even though each of the canonical scopes is enough for a
|
141
|
+
// request to be accepted and passed to the backend, a request can still fail
|
142
|
+
// due to the backend requiring additional scopes or permissions.
|
143
|
+
message OAuthRequirements {
|
144
|
+
// The list of publicly documented OAuth scopes that are allowed access. An
|
145
|
+
// OAuth token containing any of these scopes will be accepted.
|
146
|
+
//
|
147
|
+
// Example:
|
148
|
+
//
|
149
|
+
// canonical_scopes: https://www.googleapis.com/auth/calendar,
|
150
|
+
// https://www.googleapis.com/auth/calendar.read
|
151
|
+
string canonical_scopes = 1;
|
152
|
+
}
|
153
|
+
|
154
|
+
// User-defined authentication requirements, including support for
|
155
|
+
// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
|
156
|
+
message AuthRequirement {
|
157
|
+
// [id][google.api.AuthProvider.id] from authentication provider.
|
158
|
+
//
|
159
|
+
// Example:
|
160
|
+
//
|
161
|
+
// provider_id: bookstore_auth
|
162
|
+
string provider_id = 1;
|
163
|
+
|
164
|
+
// NOTE: This will be deprecated soon, once AuthProvider.audiences is
|
165
|
+
// implemented and accepted in all the runtime components.
|
166
|
+
//
|
167
|
+
// The list of JWT
|
168
|
+
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
|
169
|
+
// that are allowed to access. A JWT containing any of these audiences will
|
170
|
+
// be accepted. When this setting is absent, only JWTs with audience
|
171
|
+
// "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
|
172
|
+
// will be accepted. For example, if no audiences are in the setting,
|
173
|
+
// LibraryService API will only accept JWTs with the following audience
|
174
|
+
// "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
|
175
|
+
//
|
176
|
+
// Example:
|
177
|
+
//
|
178
|
+
// audiences: bookstore_android.apps.googleusercontent.com,
|
179
|
+
// bookstore_web.apps.googleusercontent.com
|
180
|
+
string audiences = 2;
|
181
|
+
}
|