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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/Gemfile.lock +12 -12
  4. data/LICENSE +1 -3
  5. data/lib/vagrant/errors.rb +4 -0
  6. data/lib/vagrant/util/install_cli_autocomplete.rb +3 -3
  7. data/lib/vagrant.rb +0 -3
  8. data/pkg/vagrant-unbundled-2.3.2.0.gem +0 -0
  9. data/plugins/commands/serve/command.rb +1 -1
  10. data/plugins/guests/solaris/cap/remove_public_key.rb +2 -2
  11. data/plugins/hosts/gentoo/host.rb +1 -1
  12. data/plugins/hosts/slackware/host.rb +1 -1
  13. data/plugins/providers/virtualbox/action/network.rb +8 -5
  14. data/plugins/providers/virtualbox/driver/base.rb +3 -1
  15. data/plugins/providers/virtualbox/driver/version_5_0.rb +40 -36
  16. data/plugins/providers/virtualbox/driver/version_7_0.rb +223 -5
  17. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +1 -1
  18. data/plugins/provisioners/ansible/provisioner/host.rb +1 -1
  19. data/plugins/provisioners/chef/config/chef_zero.rb +1 -1
  20. data/plugins/synced_folders/rsync/helper.rb +1 -0
  21. data/templates/locales/en.yml +4 -0
  22. data/thirdparty/proto/api-common-protos/.bazelrc +2 -0
  23. data/thirdparty/proto/api-common-protos/.git +1 -0
  24. data/thirdparty/proto/api-common-protos/.gitignore +11 -0
  25. data/thirdparty/proto/api-common-protos/BUILD.bazel +129 -0
  26. data/thirdparty/proto/api-common-protos/CODE_OF_CONDUCT.md +43 -0
  27. data/thirdparty/proto/api-common-protos/CONTRIBUTING.md +42 -0
  28. data/thirdparty/proto/api-common-protos/Dockerfile +18 -0
  29. data/thirdparty/proto/api-common-protos/LICENSE +201 -0
  30. data/thirdparty/proto/api-common-protos/README.md +113 -0
  31. data/thirdparty/proto/api-common-protos/SECURITY.md +7 -0
  32. data/thirdparty/proto/api-common-protos/WORKSPACE +154 -0
  33. data/thirdparty/proto/api-common-protos/google/api/BUILD.bazel +246 -0
  34. data/thirdparty/proto/api-common-protos/google/api/README.md +46 -0
  35. data/thirdparty/proto/api-common-protos/google/api/annotations.proto +31 -0
  36. data/thirdparty/proto/api-common-protos/google/api/auth.proto +181 -0
  37. data/thirdparty/proto/api-common-protos/google/api/backend.proto +51 -0
  38. data/thirdparty/proto/api-common-protos/google/api/billing.proto +67 -0
  39. data/thirdparty/proto/api-common-protos/google/api/client.proto +99 -0
  40. data/thirdparty/proto/api-common-protos/google/api/config_change.proto +85 -0
  41. data/thirdparty/proto/api-common-protos/google/api/consumer.proto +83 -0
  42. data/thirdparty/proto/api-common-protos/google/api/context.proto +63 -0
  43. data/thirdparty/proto/api-common-protos/google/api/control.proto +33 -0
  44. data/thirdparty/proto/api-common-protos/google/api/distribution.proto +213 -0
  45. data/thirdparty/proto/api-common-protos/google/api/documentation.proto +157 -0
  46. data/thirdparty/proto/api-common-protos/google/api/endpoint.proto +71 -0
  47. data/thirdparty/proto/api-common-protos/google/api/field_behavior.proto +84 -0
  48. data/thirdparty/proto/api-common-protos/google/api/http.proto +318 -0
  49. data/thirdparty/proto/api-common-protos/google/api/httpbody.proto +76 -0
  50. data/thirdparty/proto/api-common-protos/google/api/label.proto +49 -0
  51. data/thirdparty/proto/api-common-protos/google/api/launch_stage.proto +67 -0
  52. data/thirdparty/proto/api-common-protos/google/api/log.proto +55 -0
  53. data/thirdparty/proto/api-common-protos/google/api/logging.proto +83 -0
  54. data/thirdparty/proto/api-common-protos/google/api/metric.proto +192 -0
  55. data/thirdparty/proto/api-common-protos/google/api/monitored_resource.proto +116 -0
  56. data/thirdparty/proto/api-common-protos/google/api/monitoring.proto +89 -0
  57. data/thirdparty/proto/api-common-protos/google/api/quota.proto +259 -0
  58. data/thirdparty/proto/api-common-protos/google/api/resource.proto +299 -0
  59. data/thirdparty/proto/api-common-protos/google/api/routing.proto +461 -0
  60. data/thirdparty/proto/api-common-protos/google/api/service.proto +175 -0
  61. data/thirdparty/proto/api-common-protos/google/api/source_info.proto +32 -0
  62. data/thirdparty/proto/api-common-protos/google/api/system_parameter.proto +96 -0
  63. data/thirdparty/proto/api-common-protos/google/api/usage.proto +92 -0
  64. data/thirdparty/proto/api-common-protos/google/cloud/extended_operations.proto +150 -0
  65. data/thirdparty/proto/api-common-protos/google/iam/README.md +14 -0
  66. data/thirdparty/proto/api-common-protos/google/iam/admin/v1/iam.proto +1087 -0
  67. data/thirdparty/proto/api-common-protos/google/iam/v1/iam_policy.proto +145 -0
  68. data/thirdparty/proto/api-common-protos/google/iam/v1/logging/audit_data.proto +34 -0
  69. data/thirdparty/proto/api-common-protos/google/iam/v1/options.proto +41 -0
  70. data/thirdparty/proto/api-common-protos/google/iam/v1/policy.proto +240 -0
  71. data/thirdparty/proto/api-common-protos/google/logging/type/README.md +12 -0
  72. data/thirdparty/proto/api-common-protos/google/logging/type/http_request.proto +92 -0
  73. data/thirdparty/proto/api-common-protos/google/logging/type/log_severity.proto +72 -0
  74. data/thirdparty/proto/api-common-protos/google/longrunning/README.md +31 -0
  75. data/thirdparty/proto/api-common-protos/google/longrunning/operations.proto +247 -0
  76. data/thirdparty/proto/api-common-protos/google/rpc/README.md +18 -0
  77. data/thirdparty/proto/api-common-protos/google/rpc/code.proto +186 -0
  78. data/thirdparty/proto/api-common-protos/google/rpc/context/attribute_context.proto +287 -0
  79. data/thirdparty/proto/api-common-protos/google/rpc/error_details.proto +246 -0
  80. data/thirdparty/proto/api-common-protos/google/rpc/status.proto +47 -0
  81. data/thirdparty/proto/api-common-protos/google/type/README.md +7 -0
  82. data/thirdparty/proto/api-common-protos/google/type/calendar_period.proto +57 -0
  83. data/thirdparty/proto/api-common-protos/google/type/color.proto +170 -0
  84. data/thirdparty/proto/api-common-protos/google/type/date.proto +50 -0
  85. data/thirdparty/proto/api-common-protos/google/type/datetime.proto +97 -0
  86. data/thirdparty/proto/api-common-protos/google/type/dayofweek.proto +51 -0
  87. data/thirdparty/proto/api-common-protos/google/type/expr.proto +51 -0
  88. data/thirdparty/proto/api-common-protos/google/type/fraction.proto +34 -0
  89. data/thirdparty/proto/api-common-protos/google/type/latlng.proto +37 -0
  90. data/thirdparty/proto/api-common-protos/google/type/money.proto +43 -0
  91. data/thirdparty/proto/api-common-protos/google/type/month.proto +66 -0
  92. data/thirdparty/proto/api-common-protos/google/type/postal_address.proto +135 -0
  93. data/thirdparty/proto/api-common-protos/google/type/quaternion.proto +95 -0
  94. data/thirdparty/proto/api-common-protos/google/type/timeofday.proto +44 -0
  95. data/thirdparty/proto/api-common-protos/renovate.json +5 -0
  96. data/thirdparty/proto/api-common-protos/repository_rules.bzl +222 -0
  97. data/vagrant.gemspec +4 -4
  98. data/version.txt +1 -1
  99. metadata +89 -20
  100. data/lib/vagrant/patches/net-ssh.rb +0 -286
@@ -0,0 +1,287 @@
1
+ // Copyright 2020 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.rpc.context;
18
+
19
+ import "google/protobuf/struct.proto";
20
+ import "google/protobuf/timestamp.proto";
21
+
22
+ option cc_enable_arenas = true;
23
+ option go_package = "google.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context";
24
+ option java_multiple_files = true;
25
+ option java_outer_classname = "AttributeContextProto";
26
+ option java_package = "com.google.rpc.context";
27
+
28
+ // This message defines the standard attribute vocabulary for Google APIs.
29
+ //
30
+ // An attribute is a piece of metadata that describes an activity on a network
31
+ // service. For example, the size of an HTTP request, or the status code of
32
+ // an HTTP response.
33
+ //
34
+ // Each attribute has a type and a name, which is logically defined as
35
+ // a proto message field in `AttributeContext`. The field type becomes the
36
+ // attribute type, and the field path becomes the attribute name. For example,
37
+ // the attribute `source.ip` maps to field `AttributeContext.source.ip`.
38
+ //
39
+ // This message definition is guaranteed not to have any wire breaking change.
40
+ // So you can use it directly for passing attributes across different systems.
41
+ //
42
+ // NOTE: Different system may generate different subset of attributes. Please
43
+ // verify the system specification before relying on an attribute generated
44
+ // a system.
45
+ message AttributeContext {
46
+ // This message defines attributes for a node that handles a network request.
47
+ // The node can be either a service or an application that sends, forwards,
48
+ // or receives the request. Service peers should fill in
49
+ // `principal` and `labels` as appropriate.
50
+ message Peer {
51
+ // The IP address of the peer.
52
+ string ip = 1;
53
+
54
+ // The network port of the peer.
55
+ int64 port = 2;
56
+
57
+ // The labels associated with the peer.
58
+ map<string, string> labels = 6;
59
+
60
+ // The identity of this peer. Similar to `Request.auth.principal`, but
61
+ // relative to the peer instead of the request. For example, the
62
+ // idenity associated with a load balancer that forwared the request.
63
+ string principal = 7;
64
+
65
+ // The CLDR country/region code associated with the above IP address.
66
+ // If the IP address is private, the `region_code` should reflect the
67
+ // physical location where this peer is running.
68
+ string region_code = 8;
69
+ }
70
+
71
+ // This message defines attributes associated with API operations, such as
72
+ // a network API request. The terminology is based on the conventions used
73
+ // by Google APIs, Istio, and OpenAPI.
74
+ message Api {
75
+ // The API service name. It is a logical identifier for a networked API,
76
+ // such as "pubsub.googleapis.com". The naming syntax depends on the
77
+ // API management system being used for handling the request.
78
+ string service = 1;
79
+
80
+ // The API operation name. For gRPC requests, it is the fully qualified API
81
+ // method name, such as "google.pubsub.v1.Publisher.Publish". For OpenAPI
82
+ // requests, it is the `operationId`, such as "getPet".
83
+ string operation = 2;
84
+
85
+ // The API protocol used for sending the request, such as "http", "https",
86
+ // "grpc", or "internal".
87
+ string protocol = 3;
88
+
89
+ // The API version associated with the API operation above, such as "v1" or
90
+ // "v1alpha1".
91
+ string version = 4;
92
+ }
93
+
94
+ // This message defines request authentication attributes. Terminology is
95
+ // based on the JSON Web Token (JWT) standard, but the terms also
96
+ // correlate to concepts in other standards.
97
+ message Auth {
98
+ // The authenticated principal. Reflects the issuer (`iss`) and subject
99
+ // (`sub`) claims within a JWT. The issuer and subject should be `/`
100
+ // delimited, with `/` percent-encoded within the subject fragment. For
101
+ // Google accounts, the principal format is:
102
+ // "https://accounts.google.com/{id}"
103
+ string principal = 1;
104
+
105
+ // The intended audience(s) for this authentication information. Reflects
106
+ // the audience (`aud`) claim within a JWT. The audience
107
+ // value(s) depends on the `issuer`, but typically include one or more of
108
+ // the following pieces of information:
109
+ //
110
+ // * The services intended to receive the credential such as
111
+ // ["pubsub.googleapis.com", "storage.googleapis.com"]
112
+ // * A set of service-based scopes. For example,
113
+ // ["https://www.googleapis.com/auth/cloud-platform"]
114
+ // * The client id of an app, such as the Firebase project id for JWTs
115
+ // from Firebase Auth.
116
+ //
117
+ // Consult the documentation for the credential issuer to determine the
118
+ // information provided.
119
+ repeated string audiences = 2;
120
+
121
+ // The authorized presenter of the credential. Reflects the optional
122
+ // Authorized Presenter (`azp`) claim within a JWT or the
123
+ // OAuth client id. For example, a Google Cloud Platform client id looks
124
+ // as follows: "123456789012.apps.googleusercontent.com".
125
+ string presenter = 3;
126
+
127
+ // Structured claims presented with the credential. JWTs include
128
+ // `{key: value}` pairs for standard and private claims. The following
129
+ // is a subset of the standard required and optional claims that would
130
+ // typically be presented for a Google-based JWT:
131
+ //
132
+ // {'iss': 'accounts.google.com',
133
+ // 'sub': '113289723416554971153',
134
+ // 'aud': ['123456789012', 'pubsub.googleapis.com'],
135
+ // 'azp': '123456789012.apps.googleusercontent.com',
136
+ // 'email': 'jsmith@example.com',
137
+ // 'iat': 1353601026,
138
+ // 'exp': 1353604926}
139
+ //
140
+ // SAML assertions are similarly specified, but with an identity provider
141
+ // dependent structure.
142
+ google.protobuf.Struct claims = 4;
143
+
144
+ // A list of access level resource names that allow resources to be
145
+ // accessed by authenticated requester. It is part of Secure GCP processing
146
+ // for the incoming request. An access level string has the format:
147
+ // "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}"
148
+ //
149
+ // Example:
150
+ // "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL"
151
+ repeated string access_levels = 5;
152
+ }
153
+
154
+ // This message defines attributes for an HTTP request. If the actual
155
+ // request is not an HTTP request, the runtime system should try to map
156
+ // the actual request to an equivalent HTTP request.
157
+ message Request {
158
+ // The unique ID for a request, which can be propagated to downstream
159
+ // systems. The ID should have low probability of collision
160
+ // within a single day for a specific service.
161
+ string id = 1;
162
+
163
+ // The HTTP request method, such as `GET`, `POST`.
164
+ string method = 2;
165
+
166
+ // The HTTP request headers. If multiple headers share the same key, they
167
+ // must be merged according to the HTTP spec. All header keys must be
168
+ // lowercased, because HTTP header keys are case-insensitive.
169
+ map<string, string> headers = 3;
170
+
171
+ // The HTTP URL path.
172
+ string path = 4;
173
+
174
+ // The HTTP request `Host` header value.
175
+ string host = 5;
176
+
177
+ // The HTTP URL scheme, such as `http` and `https`.
178
+ string scheme = 6;
179
+
180
+ // The HTTP URL query in the format of `name1=value1&name2=value2`, as it
181
+ // appears in the first line of the HTTP request. No decoding is performed.
182
+ string query = 7;
183
+
184
+ // The timestamp when the `destination` service receives the first byte of
185
+ // the request.
186
+ google.protobuf.Timestamp time = 9;
187
+
188
+ // The HTTP request size in bytes. If unknown, it must be -1.
189
+ int64 size = 10;
190
+
191
+ // The network protocol used with the request, such as "http/1.1",
192
+ // "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". See
193
+ // https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
194
+ // for details.
195
+ string protocol = 11;
196
+
197
+ // A special parameter for request reason. It is used by security systems
198
+ // to associate auditing information with a request.
199
+ string reason = 12;
200
+
201
+ // The request authentication. May be absent for unauthenticated requests.
202
+ // Derived from the HTTP request `Authorization` header or equivalent.
203
+ Auth auth = 13;
204
+ }
205
+
206
+ // This message defines attributes for a typical network response. It
207
+ // generally models semantics of an HTTP response.
208
+ message Response {
209
+ // The HTTP response status code, such as `200` and `404`.
210
+ int64 code = 1;
211
+
212
+ // The HTTP response size in bytes. If unknown, it must be -1.
213
+ int64 size = 2;
214
+
215
+ // The HTTP response headers. If multiple headers share the same key, they
216
+ // must be merged according to HTTP spec. All header keys must be
217
+ // lowercased, because HTTP header keys are case-insensitive.
218
+ map<string, string> headers = 3;
219
+
220
+ // The timestamp when the `destination` service generates the first byte of
221
+ // the response.
222
+ google.protobuf.Timestamp time = 4;
223
+ }
224
+
225
+ // This message defines core attributes for a resource. A resource is an
226
+ // addressable (named) entity provided by the destination service. For
227
+ // example, a file stored on a network storage service.
228
+ message Resource {
229
+ // The name of the service that this resource belongs to, such as
230
+ // `pubsub.googleapis.com`. The service may be different from the DNS
231
+ // hostname that actually serves the request.
232
+ string service = 1;
233
+
234
+ // The stable identifier (name) of a resource on the `service`. A resource
235
+ // can be logically identified as "//{resource.service}/{resource.name}".
236
+ // The differences between a resource name and a URI are:
237
+ //
238
+ // * Resource name is a logical identifier, independent of network
239
+ // protocol and API version. For example,
240
+ // `//pubsub.googleapis.com/projects/123/topics/news-feed`.
241
+ // * URI often includes protocol and version information, so it can
242
+ // be used directly by applications. For example,
243
+ // `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`.
244
+ //
245
+ // See https://cloud.google.com/apis/design/resource_names for details.
246
+ string name = 2;
247
+
248
+ // The type of the resource. The syntax is platform-specific because
249
+ // different platforms define their resources differently.
250
+ //
251
+ // For Google APIs, the type format must be "{service}/{kind}".
252
+ string type = 3;
253
+
254
+ // The labels or tags on the resource, such as AWS resource tags and
255
+ // Kubernetes resource labels.
256
+ map<string, string> labels = 4;
257
+ }
258
+
259
+ // The origin of a network activity. In a multi hop network activity,
260
+ // the origin represents the sender of the first hop. For the first hop,
261
+ // the `source` and the `origin` must have the same content.
262
+ Peer origin = 7;
263
+
264
+ // The source of a network activity, such as starting a TCP connection.
265
+ // In a multi hop network activity, the source represents the sender of the
266
+ // last hop.
267
+ Peer source = 1;
268
+
269
+ // The destination of a network activity, such as accepting a TCP connection.
270
+ // In a multi hop network activity, the destination represents the receiver of
271
+ // the last hop.
272
+ Peer destination = 2;
273
+
274
+ // Represents a network request, such as an HTTP request.
275
+ Request request = 3;
276
+
277
+ // Represents a network response, such as an HTTP response.
278
+ Response response = 4;
279
+
280
+ // Represents a target resource that is involved with a network activity.
281
+ // If multiple resources are involved with an activity, this must be the
282
+ // primary one.
283
+ Resource resource = 5;
284
+
285
+ // Represents an API operation that is involved to a network activity.
286
+ Api api = 6;
287
+ }
@@ -0,0 +1,246 @@
1
+ // Copyright 2020 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.rpc;
18
+
19
+ import "google/protobuf/duration.proto";
20
+
21
+ option go_package = "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "ErrorDetailsProto";
24
+ option java_package = "com.google.rpc";
25
+ option objc_class_prefix = "RPC";
26
+
27
+ // Describes when the clients can retry a failed request. Clients could ignore
28
+ // the recommendation here or retry when this information is missing from error
29
+ // responses.
30
+ //
31
+ // It's always recommended that clients should use exponential backoff when
32
+ // retrying.
33
+ //
34
+ // Clients should wait until `retry_delay` amount of time has passed since
35
+ // receiving the error response before retrying. If retrying requests also
36
+ // fail, clients should use an exponential backoff scheme to gradually increase
37
+ // the delay between retries based on `retry_delay`, until either a maximum
38
+ // number of retries have been reached or a maximum retry delay cap has been
39
+ // reached.
40
+ message RetryInfo {
41
+ // Clients should wait at least this long between retrying the same request.
42
+ google.protobuf.Duration retry_delay = 1;
43
+ }
44
+
45
+ // Describes additional debugging info.
46
+ message DebugInfo {
47
+ // The stack trace entries indicating where the error occurred.
48
+ repeated string stack_entries = 1;
49
+
50
+ // Additional debugging information provided by the server.
51
+ string detail = 2;
52
+ }
53
+
54
+ // Describes how a quota check failed.
55
+ //
56
+ // For example if a daily limit was exceeded for the calling project,
57
+ // a service could respond with a QuotaFailure detail containing the project
58
+ // id and the description of the quota limit that was exceeded. If the
59
+ // calling project hasn't enabled the service in the developer console, then
60
+ // a service could respond with the project id and set `service_disabled`
61
+ // to true.
62
+ //
63
+ // Also see RetryInfo and Help types for other details about handling a
64
+ // quota failure.
65
+ message QuotaFailure {
66
+ // A message type used to describe a single quota violation. For example, a
67
+ // daily quota or a custom quota that was exceeded.
68
+ message Violation {
69
+ // The subject on which the quota check failed.
70
+ // For example, "clientip:<ip address of client>" or "project:<Google
71
+ // developer project id>".
72
+ string subject = 1;
73
+
74
+ // A description of how the quota check failed. Clients can use this
75
+ // description to find more about the quota configuration in the service's
76
+ // public documentation, or find the relevant quota limit to adjust through
77
+ // developer console.
78
+ //
79
+ // For example: "Service disabled" or "Daily Limit for read operations
80
+ // exceeded".
81
+ string description = 2;
82
+ }
83
+
84
+ // Describes all quota violations.
85
+ repeated Violation violations = 1;
86
+ }
87
+
88
+ // Describes the cause of the error with structured details.
89
+ //
90
+ // Example of an error when contacting the "pubsub.googleapis.com" API when it
91
+ // is not enabled:
92
+ // { "reason": "API_DISABLED"
93
+ // "domain": "googleapis.com"
94
+ // "metadata": {
95
+ // "resource": "projects/123",
96
+ // "service": "pubsub.googleapis.com"
97
+ // }
98
+ // }
99
+ // This response indicates that the pubsub.googleapis.com API is not enabled.
100
+ //
101
+ // Example of an error that is returned when attempting to create a Spanner
102
+ // instance in a region that is out of stock:
103
+ // { "reason": "STOCKOUT"
104
+ // "domain": "spanner.googleapis.com",
105
+ // "metadata": {
106
+ // "availableRegions": "us-central1,us-east2"
107
+ // }
108
+ // }
109
+ //
110
+ message ErrorInfo {
111
+ // The reason of the error. This is a constant value that identifies the
112
+ // proximate cause of the error. Error reasons are unique within a particular
113
+ // domain of errors. This should be at most 63 characters and match
114
+ // /[A-Z0-9_]+/.
115
+ string reason = 1;
116
+
117
+ // The logical grouping to which the "reason" belongs. Often "domain" will
118
+ // contain the registered service name of the tool or product that is the
119
+ // source of the error. Example: "pubsub.googleapis.com". If the error is
120
+ // common across many APIs, the first segment of the example above will be
121
+ // omitted. The value will be, "googleapis.com".
122
+ string domain = 2;
123
+
124
+ // Additional structured details about this error.
125
+ //
126
+ // Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
127
+ // length. When identifying the current value of an exceeded limit, the units
128
+ // should be contained in the key, not the value. For example, rather than
129
+ // {"instanceLimit": "100/request"}, should be returned as,
130
+ // {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
131
+ // instances that can be created in a single (batch) request.
132
+ map<string, string> metadata = 3;
133
+ }
134
+
135
+ // Describes what preconditions have failed.
136
+ //
137
+ // For example, if an RPC failed because it required the Terms of Service to be
138
+ // acknowledged, it could list the terms of service violation in the
139
+ // PreconditionFailure message.
140
+ message PreconditionFailure {
141
+ // A message type used to describe a single precondition failure.
142
+ message Violation {
143
+ // The type of PreconditionFailure. We recommend using a service-specific
144
+ // enum type to define the supported precondition violation subjects. For
145
+ // example, "TOS" for "Terms of Service violation".
146
+ string type = 1;
147
+
148
+ // The subject, relative to the type, that failed.
149
+ // For example, "google.com/cloud" relative to the "TOS" type would indicate
150
+ // which terms of service is being referenced.
151
+ string subject = 2;
152
+
153
+ // A description of how the precondition failed. Developers can use this
154
+ // description to understand how to fix the failure.
155
+ //
156
+ // For example: "Terms of service not accepted".
157
+ string description = 3;
158
+ }
159
+
160
+ // Describes all precondition violations.
161
+ repeated Violation violations = 1;
162
+ }
163
+
164
+ // Describes violations in a client request. This error type focuses on the
165
+ // syntactic aspects of the request.
166
+ message BadRequest {
167
+ // A message type used to describe a single bad request field.
168
+ message FieldViolation {
169
+ // A path leading to a field in the request body. The value will be a
170
+ // sequence of dot-separated identifiers that identify a protocol buffer
171
+ // field. E.g., "field_violations.field" would identify this field.
172
+ string field = 1;
173
+
174
+ // A description of why the request element is bad.
175
+ string description = 2;
176
+ }
177
+
178
+ // Describes all violations in a client request.
179
+ repeated FieldViolation field_violations = 1;
180
+ }
181
+
182
+ // Contains metadata about the request that clients can attach when filing a bug
183
+ // or providing other forms of feedback.
184
+ message RequestInfo {
185
+ // An opaque string that should only be interpreted by the service generating
186
+ // it. For example, it can be used to identify requests in the service's logs.
187
+ string request_id = 1;
188
+
189
+ // Any data that was used to serve this request. For example, an encrypted
190
+ // stack trace that can be sent back to the service provider for debugging.
191
+ string serving_data = 2;
192
+ }
193
+
194
+ // Describes the resource that is being accessed.
195
+ message ResourceInfo {
196
+ // A name for the type of resource being accessed, e.g. "sql table",
197
+ // "cloud storage bucket", "file", "Google calendar"; or the type URL
198
+ // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
199
+ string resource_type = 1;
200
+
201
+ // The name of the resource being accessed. For example, a shared calendar
202
+ // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
203
+ // error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
204
+ string resource_name = 2;
205
+
206
+ // The owner of the resource (optional).
207
+ // For example, "user:<owner email>" or "project:<Google developer project
208
+ // id>".
209
+ string owner = 3;
210
+
211
+ // Describes what error is encountered when accessing this resource.
212
+ // For example, updating a cloud project may require the `writer` permission
213
+ // on the developer console project.
214
+ string description = 4;
215
+ }
216
+
217
+ // Provides links to documentation or for performing an out of band action.
218
+ //
219
+ // For example, if a quota check failed with an error indicating the calling
220
+ // project hasn't enabled the accessed service, this can contain a URL pointing
221
+ // directly to the right place in the developer console to flip the bit.
222
+ message Help {
223
+ // Describes a URL link.
224
+ message Link {
225
+ // Describes what the link offers.
226
+ string description = 1;
227
+
228
+ // The URL of the link.
229
+ string url = 2;
230
+ }
231
+
232
+ // URL(s) pointing to additional information on handling the current error.
233
+ repeated Link links = 1;
234
+ }
235
+
236
+ // Provides a localized error message that is safe to return to the user
237
+ // which can be attached to an RPC error.
238
+ message LocalizedMessage {
239
+ // The locale used following the specification defined at
240
+ // http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
241
+ // Examples are: "en-US", "fr-CH", "es-MX"
242
+ string locale = 1;
243
+
244
+ // The localized error message in the above locale.
245
+ string message = 2;
246
+ }
@@ -0,0 +1,47 @@
1
+ // Copyright 2020 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.rpc;
18
+
19
+ import "google/protobuf/any.proto";
20
+
21
+ option cc_enable_arenas = true;
22
+ option go_package = "google.golang.org/genproto/googleapis/rpc/status;status";
23
+ option java_multiple_files = true;
24
+ option java_outer_classname = "StatusProto";
25
+ option java_package = "com.google.rpc";
26
+ option objc_class_prefix = "RPC";
27
+
28
+ // The `Status` type defines a logical error model that is suitable for
29
+ // different programming environments, including REST APIs and RPC APIs. It is
30
+ // used by [gRPC](https://github.com/grpc). Each `Status` message contains
31
+ // three pieces of data: error code, error message, and error details.
32
+ //
33
+ // You can find out more about this error model and how to work with it in the
34
+ // [API Design Guide](https://cloud.google.com/apis/design/errors).
35
+ message Status {
36
+ // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
37
+ int32 code = 1;
38
+
39
+ // A developer-facing error message, which should be in English. Any
40
+ // user-facing error message should be localized and sent in the
41
+ // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
42
+ string message = 2;
43
+
44
+ // A list of messages that carry the error details. There is a common set of
45
+ // message types for APIs to use.
46
+ repeated google.protobuf.Any details = 3;
47
+ }
@@ -0,0 +1,7 @@
1
+ ## Google Common Types
2
+
3
+ This package contains definitions of common types for Google APIs.
4
+ All types defined in this package are suitable for different APIs to
5
+ exchange data, and will never break binary compatibility. They should
6
+ have design quality comparable to major programming languages like
7
+ Java and C#.
@@ -0,0 +1,57 @@
1
+ // Copyright 2019 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
+
16
+ syntax = "proto3";
17
+
18
+ package google.type;
19
+
20
+ option go_package = "google.golang.org/genproto/googleapis/type/calendarperiod;calendarperiod";
21
+ option java_multiple_files = true;
22
+ option java_outer_classname = "CalendarPeriodProto";
23
+ option java_package = "com.google.type";
24
+ option objc_class_prefix = "GTP";
25
+
26
+ // A `CalendarPeriod` represents the abstract concept of a time period that has
27
+ // a canonical start. Grammatically, "the start of the current
28
+ // `CalendarPeriod`." All calendar times begin at midnight UTC.
29
+ enum CalendarPeriod {
30
+ // Undefined period, raises an error.
31
+ CALENDAR_PERIOD_UNSPECIFIED = 0;
32
+
33
+ // A day.
34
+ DAY = 1;
35
+
36
+ // A week. Weeks begin on Monday, following
37
+ // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date).
38
+ WEEK = 2;
39
+
40
+ // A fortnight. The first calendar fortnight of the year begins at the start
41
+ // of week 1 according to
42
+ // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date).
43
+ FORTNIGHT = 3;
44
+
45
+ // A month.
46
+ MONTH = 4;
47
+
48
+ // A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each
49
+ // year.
50
+ QUARTER = 5;
51
+
52
+ // A half-year. Half-years start on dates 1-Jan and 1-Jul.
53
+ HALF = 6;
54
+
55
+ // A year.
56
+ YEAR = 7;
57
+ }