aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs
diff options
context:
space:
mode:
authorbugaevskiy <bugaevskiy@yandex-team.com>2022-07-24 00:18:56 +0300
committerbugaevskiy <bugaevskiy@yandex-team.com>2022-07-24 00:18:56 +0300
commit574b79287767a711217816f3c0719095e56f2b66 (patch)
tree6ec67349afe5d8b61c85bc6fd4bb1331486ece42 /contrib/libs
parentbdfa64a2dfbfa18015103f731c6017fd61a34842 (diff)
downloadydb-574b79287767a711217816f3c0719095e56f2b66.tar.gz
Reimport boost/array as a separate project
Diffstat (limited to 'contrib/libs')
-rw-r--r--contrib/libs/googleapis-common-protos/CHANGELOG.md57
-rw-r--r--contrib/libs/googleapis-common-protos/README.rst (renamed from contrib/libs/googleapis-common-protos/README.md)0
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/annotations.proto2
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/auth.proto87
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/backend.proto139
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/billing.proto30
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/client.proto2
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/config_change.proto5
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/consumer.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/context.proto30
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/control.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/distribution.proto8
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/documentation.proto23
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/endpoint.proto27
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/error_reason.proto397
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/field_behavior.proto10
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/http.proto295
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/httpbody.proto17
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/label.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/launch_stage.proto11
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/log.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/logging.proto5
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/metric.proto148
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto18
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/monitoring.proto64
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/quota.proto100
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/resource.proto83
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/service.proto35
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/source_info.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/system_parameter.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/usage.proto11
-rw-r--r--contrib/libs/googleapis-common-protos/google/api/visibility.proto111
-rw-r--r--contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto2
-rw-r--r--contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto17
-rw-r--r--contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto7
-rw-r--r--contrib/libs/googleapis-common-protos/google/longrunning/operations.proto8
-rw-r--r--contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto66
-rw-r--r--contrib/libs/googleapis-common-protos/google/rpc/error_details.proto19
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/calendar_period.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/color.proto30
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/date.proto28
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/datetime.proto13
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/dayofweek.proto21
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/decimal.proto95
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/expr.proto50
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/fraction.proto5
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/interval.proto46
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/latlng.proto2
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/localized_text.proto36
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/money.proto5
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/month.proto5
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/phone_number.proto113
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/postal_address.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/quaternion.proto3
-rw-r--r--contrib/libs/googleapis-common-protos/google/type/timeofday.proto6
55 files changed, 1746 insertions, 570 deletions
diff --git a/contrib/libs/googleapis-common-protos/CHANGELOG.md b/contrib/libs/googleapis-common-protos/CHANGELOG.md
index 6d6264cbe8..119dce92e9 100644
--- a/contrib/libs/googleapis-common-protos/CHANGELOG.md
+++ b/contrib/libs/googleapis-common-protos/CHANGELOG.md
@@ -1,5 +1,62 @@
# Changelog
+## [1.56.4](https://github.com/googleapis/python-api-common-protos/compare/v1.56.3...v1.56.4) (2022-07-12)
+
+
+### Bug Fixes
+
+* require python 3.7+ ([#119](https://github.com/googleapis/python-api-common-protos/issues/119)) ([507b58d](https://github.com/googleapis/python-api-common-protos/commit/507b58dfa0516aedf57880b384e92cda97152398))
+
+## [1.56.3](https://github.com/googleapis/python-api-common-protos/compare/v1.56.2...v1.56.3) (2022-06-21)
+
+
+### Bug Fixes
+
+* **deps:** allow protobuf < 5.0.0 ([#112](https://github.com/googleapis/python-api-common-protos/issues/112)) ([67b0231](https://github.com/googleapis/python-api-common-protos/commit/67b02313bf47d86ac84917756ff026e331665637))
+
+
+### Documentation
+
+* fix changelog header to consistent size ([#108](https://github.com/googleapis/python-api-common-protos/issues/108)) ([d315b9f](https://github.com/googleapis/python-api-common-protos/commit/d315b9f23f5dbbce27c965a2b692a8d1dcf03d60))
+
+## [1.56.2](https://github.com/googleapis/python-api-common-protos/compare/v1.56.1...v1.56.2) (2022-05-26)
+
+
+### Bug Fixes
+
+* **deps:** require grpcio >= 1.0.0, <2.0.0dev ([4a402ce](https://github.com/googleapis/python-api-common-protos/commit/4a402ce798c8364679e69eefdaadcf61fc289308))
+* **deps:** require protobuf>= 3.15.0, <4.0.0dev ([#105](https://github.com/googleapis/python-api-common-protos/issues/105)) ([4a402ce](https://github.com/googleapis/python-api-common-protos/commit/4a402ce798c8364679e69eefdaadcf61fc289308))
+
+## [1.56.1](https://github.com/googleapis/python-api-common-protos/compare/v1.56.0...v1.56.1) (2022-05-05)
+
+
+### Bug Fixes
+
+* **deps:** require protobuf >=1.15.0 ([f04ed64](https://github.com/googleapis/python-api-common-protos/commit/f04ed64b233e1ff95370ef412ad5ecb92cb5780e))
+* include tests directory ([#103](https://github.com/googleapis/python-api-common-protos/issues/103)) ([72e5df1](https://github.com/googleapis/python-api-common-protos/commit/72e5df15ce63012f7d5c7781a51687e85a2cf63c))
+* regenerate pb2 files using the latest version of grpcio-tools ([f04ed64](https://github.com/googleapis/python-api-common-protos/commit/f04ed64b233e1ff95370ef412ad5ecb92cb5780e))
+
+## [1.56.0](https://github.com/googleapis/python-api-common-protos/compare/v1.55.0...v1.56.0) (2022-03-17)
+
+
+### Features
+
+* add google/api/error_reason.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* add google/api/visibility.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* add google/type/decimal.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* add google/type/interval.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* add google/type/localized_text.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* add google/type/phone_number.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+* update all protos and pb2 files ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+
+
+### Bug Fixes
+
+* expose all names in longrunning _pb2's ([#90](https://github.com/googleapis/python-api-common-protos/issues/90)) ([09e9ccd](https://github.com/googleapis/python-api-common-protos/commit/09e9ccd86c21dceb3a5add66cc4bf5009cb255a9))
+* re-generate pb2 files ([#87](https://github.com/googleapis/python-api-common-protos/issues/87)) ([6260547](https://github.com/googleapis/python-api-common-protos/commit/6260547506f122ca9ee833aca0669d1650304a11))
+* re-generate pb2 files using grpcio-tools<1.44.0 ([#93](https://github.com/googleapis/python-api-common-protos/issues/93)) ([76bb9f6](https://github.com/googleapis/python-api-common-protos/commit/76bb9f66f9674ad4c3a7fdc8812dadfb25b170a6))
+* remove deprecated fields `aliases` and `features` from google/api/endpoint.proto ([62c04b8](https://github.com/googleapis/python-api-common-protos/commit/62c04b83ef9ce972760407d8e9e9e0d77bbb071c))
+
## [1.55.0](https://github.com/googleapis/python-api-common-protos/compare/v1.54.0...v1.55.0) (2022-02-15)
diff --git a/contrib/libs/googleapis-common-protos/README.md b/contrib/libs/googleapis-common-protos/README.rst
index 8fe5fbe677..8fe5fbe677 100644
--- a/contrib/libs/googleapis-common-protos/README.md
+++ b/contrib/libs/googleapis-common-protos/README.rst
diff --git a/contrib/libs/googleapis-common-protos/google/api/annotations.proto b/contrib/libs/googleapis-common-protos/google/api/annotations.proto
index 85c361b47f..efdab3db6c 100644
--- a/contrib/libs/googleapis-common-protos/google/api/annotations.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/annotations.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/contrib/libs/googleapis-common-protos/google/api/auth.proto b/contrib/libs/googleapis-common-protos/google/api/auth.proto
index cdbc1efe90..54026e1a5d 100644
--- a/contrib/libs/googleapis-common-protos/google/api/auth.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/auth.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,18 +16,16 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "AuthProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
-// `Authentication` defines the authentication configuration for an API.
+// `Authentication` defines the authentication configuration for API methods
+// provided by an API service.
//
-// Example for an API targeted for external use:
+// Example:
//
// name: calendar.googleapis.com
// authentication:
@@ -39,6 +37,9 @@ option objc_class_prefix = "GAPI";
// - selector: "*"
// requirements:
// provider_id: google_calendar_auth
+// - selector: google.calendar.Delegate
+// oauth:
+// canonical_scopes: https://www.googleapis.com/auth/calendar.read
message Authentication {
// A list of authentication rules that apply to individual API methods.
//
@@ -68,14 +69,37 @@ message AuthenticationRule {
OAuthRequirements oauth = 2;
// If true, the service accepts API keys without any other credential.
+ // This flag only applies to HTTP and gRPC requests.
bool allow_without_credential = 5;
// Requirements for additional authentication providers.
repeated AuthRequirement requirements = 7;
}
-// Configuration for an anthentication provider, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+// Specifies a location to extract JWT from an API request.
+message JwtLocation {
+ oneof in {
+ // Specifies HTTP header name to extract JWT token.
+ string header = 1;
+
+ // Specifies URL query parameter name to extract JWT token.
+ string query = 2;
+ }
+
+ // The value prefix. The value format is "value_prefix{token}"
+ // Only applies to "in" header type. Must be empty for "in" query type.
+ // If not empty, the header value has to match (case sensitive) this prefix.
+ // If not matched, JWT will not be extracted. If matched, JWT will be
+ // extracted after the prefix is removed.
+ //
+ // For example, for "Authorization: Bearer {JWT}",
+ // value_prefix="Bearer " with a space at the end.
+ string value_prefix = 3;
+}
+
+// Configuration for an authentication provider, including support for
+// [JSON Web Token
+// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
message AuthProvider {
// The unique identifier of the auth provider. It will be referred to by
// `AuthRequirement.provider_id`.
@@ -92,12 +116,15 @@ message AuthProvider {
string issuer = 2;
// URL of the provider's public key set to validate signature of the JWT. See
- // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
+ // [OpenID
+ // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
// Optional if the key set document:
// - can be retrieved from
- // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
+ // [OpenID
+ // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
// of the issuer.
- // - can be inferred from the email domain of the issuer (e.g. a Google service account).
+ // - can be inferred from the email domain of the issuer (e.g. a Google
+ // service account).
//
// Example: https://www.googleapis.com/oauth2/v1/certs
string jwks_uri = 3;
@@ -105,11 +132,15 @@ message AuthProvider {
// The list of JWT
// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
// that are allowed to access. A JWT containing any of these audiences will
- // be accepted. When this setting is absent, only JWTs with audience
- // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
- // will be accepted. For example, if no audiences are in the setting,
- // LibraryService API will only accept JWTs with the following audience
- // "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+ // be accepted. When this setting is absent, JWTs with audiences:
+ // - "https://[service.name]/[google.protobuf.Api.name]"
+ // - "https://[service.name]/"
+ // will be accepted.
+ // For example, if no audiences are in the setting, LibraryService API will
+ // accept JWTs with the following audiences:
+ // -
+ // https://library-example.googleapis.com/google.example.library.v1.LibraryService
+ // - https://library-example.googleapis.com/
//
// Example:
//
@@ -117,9 +148,28 @@ message AuthProvider {
// bookstore_web.apps.googleusercontent.com
string audiences = 4;
- // Redirect URL if JWT token is required but no present or is expired.
+ // Redirect URL if JWT token is required but not present or is expired.
// Implement authorizationUrl of securityDefinitions in OpenAPI spec.
string authorization_url = 5;
+
+ // Defines the locations to extract the JWT.
+ //
+ // JWT locations can be either from HTTP headers or URL query parameters.
+ // The rule is that the first match wins. The checking order is: checking
+ // all headers first, then URL query parameters.
+ //
+ // If not specified, default to use following 3 locations:
+ // 1) Authorization: Bearer
+ // 2) x-goog-iap-jwt-assertion
+ // 3) access_token query parameter
+ //
+ // Default locations can be specified as followings:
+ // jwt_locations:
+ // - header: Authorization
+ // value_prefix: "Bearer "
+ // - header: x-goog-iap-jwt-assertion
+ // - query: access_token
+ repeated JwtLocation jwt_locations = 6;
}
// OAuth scopes are a way to define data and permissions on data. For example,
@@ -152,7 +202,8 @@ message OAuthRequirements {
}
// User-defined authentication requirements, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
+// [JSON Web Token
+// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
message AuthRequirement {
// [id][google.api.AuthProvider.id] from authentication provider.
//
diff --git a/contrib/libs/googleapis-common-protos/google/api/backend.proto b/contrib/libs/googleapis-common-protos/google/api/backend.proto
index dd22919d07..da38786989 100644
--- a/contrib/libs/googleapis-common-protos/google/api/backend.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/backend.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "BackendProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// `Backend` defines the backend configuration for a service.
message Backend {
// A list of API backend rules that apply to individual API methods.
@@ -33,19 +32,151 @@ message Backend {
// A backend rule provides configuration for an individual API element.
message BackendRule {
+ // Path Translation specifies how to combine the backend address with the
+ // request path in order to produce the appropriate forwarding URL for the
+ // request.
+ //
+ // Path Translation is applicable only to HTTP-based backends. Backends which
+ // do not accept requests over HTTP/HTTPS should leave `path_translation`
+ // unspecified.
+ enum PathTranslation {
+ PATH_TRANSLATION_UNSPECIFIED = 0;
+
+ // Use the backend address as-is, with no modification to the path. If the
+ // URL pattern contains variables, the variable names and values will be
+ // appended to the query string. If a query string parameter and a URL
+ // pattern variable have the same name, this may result in duplicate keys in
+ // the query string.
+ //
+ // # Examples
+ //
+ // Given the following operation config:
+ //
+ // Method path: /api/company/{cid}/user/{uid}
+ // Backend address: https://example.cloudfunctions.net/getUser
+ //
+ // Requests to the following request paths will call the backend at the
+ // translated path:
+ //
+ // Request path: /api/company/widgetworks/user/johndoe
+ // Translated:
+ // https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe
+ //
+ // Request path: /api/company/widgetworks/user/johndoe?timezone=EST
+ // Translated:
+ // https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe
+ CONSTANT_ADDRESS = 1;
+
+ // The request path will be appended to the backend address.
+ //
+ // # Examples
+ //
+ // Given the following operation config:
+ //
+ // Method path: /api/company/{cid}/user/{uid}
+ // Backend address: https://example.appspot.com
+ //
+ // Requests to the following request paths will call the backend at the
+ // translated path:
+ //
+ // Request path: /api/company/widgetworks/user/johndoe
+ // Translated:
+ // https://example.appspot.com/api/company/widgetworks/user/johndoe
+ //
+ // Request path: /api/company/widgetworks/user/johndoe?timezone=EST
+ // Translated:
+ // https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST
+ APPEND_PATH_TO_ADDRESS = 2;
+ }
+
// Selects the methods to which this rule applies.
//
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
string selector = 1;
// The address of the API backend.
+ //
+ // The scheme is used to determine the backend protocol and security.
+ // The following schemes are accepted:
+ //
+ // SCHEME PROTOCOL SECURITY
+ // http:// HTTP None
+ // https:// HTTP TLS
+ // grpc:// gRPC None
+ // grpcs:// gRPC TLS
+ //
+ // It is recommended to explicitly include a scheme. Leaving out the scheme
+ // may cause constrasting behaviors across platforms.
+ //
+ // If the port is unspecified, the default is:
+ // - 80 for schemes without TLS
+ // - 443 for schemes with TLS
+ //
+ // For HTTP backends, use [protocol][google.api.BackendRule.protocol]
+ // to specify the protocol version.
string address = 2;
- // The number of seconds to wait for a response from a request. The default
- // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.
+ // The number of seconds to wait for a response from a request. The default
+ // varies based on the request protocol and deployment environment.
double deadline = 3;
// Minimum deadline in seconds needed for this method. Calls having deadline
// value lower than this will be rejected.
double min_deadline = 4;
+
+ // The number of seconds to wait for the completion of a long running
+ // operation. The default is no deadline.
+ double operation_deadline = 5;
+
+ PathTranslation path_translation = 6;
+
+ // Authentication settings used by the backend.
+ //
+ // These are typically used to provide service management functionality to
+ // a backend served on a publicly-routable URL. The `authentication`
+ // details should match the authentication behavior used by the backend.
+ //
+ // For example, specifying `jwt_audience` implies that the backend expects
+ // authentication via a JWT.
+ //
+ // When authentication is unspecified, the resulting behavior is the same
+ // as `disable_auth` set to `true`.
+ //
+ // Refer to https://developers.google.com/identity/protocols/OpenIDConnect for
+ // JWT ID token.
+ oneof authentication {
+ // The JWT audience is used when generating a JWT ID token for the backend.
+ // This ID token will be added in the HTTP "authorization" header, and sent
+ // to the backend.
+ string jwt_audience = 7;
+
+ // When disable_auth is true, a JWT ID token won't be generated and the
+ // original "Authorization" HTTP header will be preserved. If the header is
+ // used to carry the original token and is expected by the backend, this
+ // field must be set to true to preserve the header.
+ bool disable_auth = 8;
+ }
+
+ // The protocol used for sending a request to the backend.
+ // The supported values are "http/1.1" and "h2".
+ //
+ // The default value is inferred from the scheme in the
+ // [address][google.api.BackendRule.address] field:
+ //
+ // SCHEME PROTOCOL
+ // http:// http/1.1
+ // https:// http/1.1
+ // grpc:// h2
+ // grpcs:// h2
+ //
+ // For secure HTTP backends (https://) that support HTTP/2, set this field
+ // to "h2" for improved performance.
+ //
+ // Configuring this field to non-default values is only supported for secure
+ // HTTP backends. This field will be ignored for all other backends.
+ //
+ // See
+ // https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
+ // for more details on the supported values.
+ string protocol = 9;
}
diff --git a/contrib/libs/googleapis-common-protos/google/api/billing.proto b/contrib/libs/googleapis-common-protos/google/api/billing.proto
index 54c6cca97a..e94c2ec581 100644
--- a/contrib/libs/googleapis-common-protos/google/api/billing.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/billing.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,34 +16,42 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "BillingProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Billing related configuration of the service.
//
// The following example shows how to configure monitored resources and metrics
-// for billing:
+// for billing, `consumer_destinations` is the only supported destination and
+// the monitored resources need at least one label key
+// `cloud.googleapis.com/location` to indicate the location of the billing
+// usage, using different monitored resources between monitoring and billing is
+// recommended so they can be evolved independently:
+//
//
// monitored_resources:
-// - type: library.googleapis.com/branch
+// - type: library.googleapis.com/billing_branch
// labels:
-// - key: /city
-// description: The city where the library branch is located in.
-// - key: /name
-// description: The name of the branch.
+// - key: cloud.googleapis.com/location
+// description: |
+// Predefined label to support billing location restriction.
+// - key: city
+// description: |
+// Custom label to define the city where the library branch is located
+// in.
+// - key: name
+// description: Custom label to define the name of the library branch.
// metrics:
// - name: library.googleapis.com/book/borrowed_count
// metric_kind: DELTA
// value_type: INT64
+// unit: "1"
// billing:
// consumer_destinations:
-// - monitored_resource: library.googleapis.com/branch
+// - monitored_resource: library.googleapis.com/billing_branch
// metrics:
// - library.googleapis.com/book/borrowed_count
message Billing {
diff --git a/contrib/libs/googleapis-common-protos/google/api/client.proto b/contrib/libs/googleapis-common-protos/google/api/client.proto
index 2102623d30..3b3fd0c401 100644
--- a/contrib/libs/googleapis-common-protos/google/api/client.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/client.proto
@@ -1,4 +1,4 @@
-// Copyright 2020 Google LLC
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/contrib/libs/googleapis-common-protos/google/api/config_change.proto b/contrib/libs/googleapis-common-protos/google/api/config_change.proto
index 1e787931c1..f1fcde4f79 100644
--- a/contrib/libs/googleapis-common-protos/google/api/config_change.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/config_change.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "ConfigChangeProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Output generated from semantically comparing two versions of a service
// configuration.
//
@@ -36,7 +35,7 @@ message ConfigChange {
// 'key' is used. If the field has no unique identifier, the numeric index
// is used.
// Examples:
- // - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
+ // - visibility.rules[selector=="google.LibraryService.ListBooks"].restriction
// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
// - logging.producer_destinations[0]
string element = 1;
diff --git a/contrib/libs/googleapis-common-protos/google/api/consumer.proto b/contrib/libs/googleapis-common-protos/google/api/consumer.proto
index 4e963168ef..b7e5df1c8d 100644
--- a/contrib/libs/googleapis-common-protos/google/api/consumer.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/consumer.proto
@@ -1,4 +1,4 @@
-// Copyright 2016 Google Inc.
+// Copyright 2016 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -21,7 +21,6 @@ option java_multiple_files = true;
option java_outer_classname = "ConsumerProto";
option java_package = "com.google.api";
-
// A descriptor for defining project properties for a service. One service may
// have many consumer projects, and the service may want to behave differently
// depending on some properties on the project. For example, a project may be
diff --git a/contrib/libs/googleapis-common-protos/google/api/context.proto b/contrib/libs/googleapis-common-protos/google/api/context.proto
index fd03fcae91..8e776ecfc3 100644
--- a/contrib/libs/googleapis-common-protos/google/api/context.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/context.proto
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "ContextProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// `Context` defines which contexts an API requests.
//
// Example:
@@ -40,6 +39,25 @@ option objc_class_prefix = "GAPI";
//
// Available context types are defined in package
// `google.rpc.context`.
+//
+// This also provides mechanism to allowlist any protobuf message extension that
+// can be sent in grpc metadata using “x-goog-ext-<extension_id>-bin” and
+// “x-goog-ext-<extension_id>-jspb” format. For example, list any service
+// specific protobuf types that can appear in grpc metadata as follows in your
+// yaml file:
+//
+// Example:
+//
+// context:
+// rules:
+// - selector: "google.example.library.v1.LibraryService.CreateBook"
+// allowed_request_extensions:
+// - google.foo.v1.NewExtension
+// allowed_response_extensions:
+// - google.foo.v1.NewExtension
+//
+// You can also specify extension ID instead of fully qualified extension name
+// here.
message Context {
// A list of RPC context rules that apply to individual API methods.
//
@@ -60,4 +78,12 @@ message ContextRule {
// A list of full type names of provided contexts.
repeated string provided = 3;
+
+ // A list of full type names or extension IDs of extensions allowed in grpc
+ // side channel from client to backend.
+ repeated string allowed_request_extensions = 4;
+
+ // A list of full type names or extension IDs of extensions allowed in grpc
+ // side channel from backend to client.
+ repeated string allowed_response_extensions = 5;
}
diff --git a/contrib/libs/googleapis-common-protos/google/api/control.proto b/contrib/libs/googleapis-common-protos/google/api/control.proto
index 772d61175f..6eb1958e3c 100644
--- a/contrib/libs/googleapis-common-protos/google/api/control.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/control.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "ControlProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Selects and configures the service controller used by the service. The
// service controller handles features like abuse, quota, billing, logging,
// monitoring, etc.
diff --git a/contrib/libs/googleapis-common-protos/google/api/distribution.proto b/contrib/libs/googleapis-common-protos/google/api/distribution.proto
index f8bb252683..b079a43891 100644
--- a/contrib/libs/googleapis-common-protos/google/api/distribution.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/distribution.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -26,7 +25,6 @@ option java_outer_classname = "DistributionProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// `Distribution` contains summary statistics for a population of values. It
// optionally contains a histogram representing the distribution of those values
// across a set of buckets.
@@ -151,7 +149,7 @@ message Distribution {
// Contextual information about the example value. Examples are:
//
- // Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace
+ // Trace: type.googleapis.com/google.monitoring.v3.SpanContext
//
// Literal string: type.googleapis.com/google.protobuf.StringValue
//
@@ -177,7 +175,7 @@ message Distribution {
//
// Sum[i=1..n]((x_i - mean)^2)
//
- // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
+ // Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition
// describes Welford's method for accumulating this sum in one pass.
//
// If `count` is zero then this field must be zero.
diff --git a/contrib/libs/googleapis-common-protos/google/api/documentation.proto b/contrib/libs/googleapis-common-protos/google/api/documentation.proto
index 03cd73109a..7288169be5 100644
--- a/contrib/libs/googleapis-common-protos/google/api/documentation.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/documentation.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "DocumentationProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// `Documentation` provides the information for describing a service.
//
// Example:
@@ -94,6 +93,12 @@ message Documentation {
// The URL to the root of documentation.
string documentation_root_url = 4;
+ // Specifies the service root url if the default one (the service name
+ // from the yaml file) is not suitable. This can be seen in any fully
+ // specified service urls as well as sections that show a base that other
+ // urls are relative to.
+ string service_root_url = 6;
+
// Declares a single overview page. For example:
// <pre><code>documentation:
// summary: ...
@@ -115,16 +120,16 @@ message DocumentationRule {
// The selector is a comma-separated list of patterns. Each pattern is a
// qualified name of the element which may end in "*", indicating a wildcard.
// Wildcards are only allowed at the end and for a whole component of the
- // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To
- // specify a default for all applicable elements, the whole pattern "*"
- // is used.
+ // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
+ // wildcard will match one or more components. To specify a default for all
+ // applicable elements, the whole pattern "*" is used.
string selector = 1;
// Description of the selected API(s).
string description = 2;
- // Deprecation description of the selected element(s). It can be provided if an
- // element is marked as `deprecated`.
+ // Deprecation description of the selected element(s). It can be provided if
+ // an element is marked as `deprecated`.
string deprecation_description = 3;
}
@@ -147,8 +152,8 @@ message Page {
// `[Java][Tutorial.Java]`.
string name = 1;
- // The Markdown content of the page. You can use <code>&#40;== include {path} ==&#41;</code>
- // to include content from a Markdown file.
+ // The Markdown content of the page. You can use <code>&#40;== include {path}
+ // ==&#41;</code> to include content from a Markdown file.
string content = 2;
// Subpages of this page. The order of subpages specified here will be
diff --git a/contrib/libs/googleapis-common-protos/google/api/endpoint.proto b/contrib/libs/googleapis-common-protos/google/api/endpoint.proto
index c7bb13b037..a434e8e745 100644
--- a/contrib/libs/googleapis-common-protos/google/api/endpoint.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/endpoint.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,19 +16,16 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "EndpointProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
-// `Endpoint` describes a network endpoint that serves a set of APIs.
-// A service may expose any number of endpoints, and all endpoints share the
-// same service configuration, such as quota configuration and monitoring
-// configuration.
+// `Endpoint` describes a network endpoint of a service that serves a set of
+// APIs. It is commonly known as a service endpoint. A service may expose
+// any number of service endpoints, and all service endpoints share the same
+// service definition, such as quota limits and monitoring metrics.
//
// Example service configuration:
//
@@ -45,20 +42,20 @@ message Endpoint {
// The canonical name of this endpoint.
string name = 1;
+ // Unimplemented. Dot not use.
+ //
// DEPRECATED: This field is no longer supported. Instead of using aliases,
// please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intended
// aliases.
//
// Additional names that this endpoint will be hosted on.
- repeated string aliases = 2;
-
- // The list of features enabled on this endpoint.
- repeated string features = 4;
+ repeated string aliases = 2 [deprecated = true];
// The specification of an Internet routable address of API frontend that will
- // handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).
- // It should be either a valid IPv4 address or a fully-qualified domain name.
- // For example, "8.8.8.8" or "myservice.appspot.com".
+ // handle requests to this [API
+ // Endpoint](https://cloud.google.com/apis/design/glossary). It should be
+ // either a valid IPv4 address or a fully-qualified domain name. For example,
+ // "8.8.8.8" or "myservice.appspot.com".
string target = 101;
// Allowing
diff --git a/contrib/libs/googleapis-common-protos/google/api/error_reason.proto b/contrib/libs/googleapis-common-protos/google/api/error_reason.proto
new file mode 100644
index 0000000000..393c808bec
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/api/error_reason.proto
@@ -0,0 +1,397 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.api;
+
+option go_package = "google.golang.org/genproto/googleapis/api/error_reason;error_reason";
+option java_multiple_files = true;
+option java_outer_classname = "ErrorReasonProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+// Defines the supported values for `google.rpc.ErrorInfo.reason` for the
+// `googleapis.com` error domain. This error domain is reserved for [Service
+// Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview).
+// For each error info of this domain, the metadata key "service" refers to the
+// logical identifier of an API service, such as "pubsub.googleapis.com". The
+// "consumer" refers to the entity that consumes an API Service. It typically is
+// a Google project that owns the client application or the server resource,
+// such as "projects/123". Other metadata keys are specific to each error
+// reason. For more information, see the definition of the specific error
+// reason.
+enum ErrorReason {
+ // Do not use this default value.
+ ERROR_REASON_UNSPECIFIED = 0;
+
+ // The request is calling a disabled service for a consumer.
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" contacting
+ // "pubsub.googleapis.com" service which is disabled:
+ //
+ // { "reason": "SERVICE_DISABLED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "pubsub.googleapis.com"
+ // }
+ // }
+ //
+ // This response indicates the "pubsub.googleapis.com" has been disabled in
+ // "projects/123".
+ SERVICE_DISABLED = 1;
+
+ // The request whose associated billing account is disabled.
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+ // "pubsub.googleapis.com" service because the associated billing account is
+ // disabled:
+ //
+ // { "reason": "BILLING_DISABLED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "pubsub.googleapis.com"
+ // }
+ // }
+ //
+ // This response indicates the billing account associated has been disabled.
+ BILLING_DISABLED = 2;
+
+ // The request is denied because the provided [API
+ // key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It
+ // may be in a bad format, cannot be found, or has been expired).
+ //
+ // Example of an ErrorInfo when the request is contacting
+ // "storage.googleapis.com" service with an invalid API key:
+ //
+ // { "reason": "API_KEY_INVALID",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "service": "storage.googleapis.com",
+ // }
+ // }
+ API_KEY_INVALID = 3;
+
+ // The request is denied because it violates [API key API
+ // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions).
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call the
+ // "storage.googleapis.com" service because this service is restricted in the
+ // API key:
+ //
+ // { "reason": "API_KEY_SERVICE_BLOCKED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ API_KEY_SERVICE_BLOCKED = 4;
+
+ // The request is denied because it violates [API key HTTP
+ // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions).
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call
+ // "storage.googleapis.com" service because the http referrer of the request
+ // violates API key HTTP restrictions:
+ //
+ // { "reason": "API_KEY_HTTP_REFERRER_BLOCKED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com",
+ // }
+ // }
+ API_KEY_HTTP_REFERRER_BLOCKED = 7;
+
+ // The request is denied because it violates [API key IP address
+ // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call
+ // "storage.googleapis.com" service because the caller IP of the request
+ // violates API key IP address restrictions:
+ //
+ // { "reason": "API_KEY_IP_ADDRESS_BLOCKED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com",
+ // }
+ // }
+ API_KEY_IP_ADDRESS_BLOCKED = 8;
+
+ // The request is denied because it violates [API key Android application
+ // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call
+ // "storage.googleapis.com" service because the request from the Android apps
+ // violates the API key Android application restrictions:
+ //
+ // { "reason": "API_KEY_ANDROID_APP_BLOCKED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ API_KEY_ANDROID_APP_BLOCKED = 9;
+
+ // The request is denied because it violates [API key iOS application
+ // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call
+ // "storage.googleapis.com" service because the request from the iOS apps
+ // violates the API key iOS application restrictions:
+ //
+ // { "reason": "API_KEY_IOS_APP_BLOCKED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ API_KEY_IOS_APP_BLOCKED = 13;
+
+ // The request is denied because there is not enough rate quota for the
+ // consumer.
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+ // "pubsub.googleapis.com" service because consumer's rate quota usage has
+ // reached the maximum value set for the quota limit
+ // "ReadsPerMinutePerProject" on the quota metric
+ // "pubsub.googleapis.com/read_requests":
+ //
+ // { "reason": "RATE_LIMIT_EXCEEDED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "pubsub.googleapis.com",
+ // "quota_metric": "pubsub.googleapis.com/read_requests",
+ // "quota_limit": "ReadsPerMinutePerProject"
+ // }
+ // }
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" checks quota on
+ // the service "dataflow.googleapis.com" and hits the organization quota
+ // limit "DefaultRequestsPerMinutePerOrganization" on the metric
+ // "dataflow.googleapis.com/default_requests".
+ //
+ // { "reason": "RATE_LIMIT_EXCEEDED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "dataflow.googleapis.com",
+ // "quota_metric": "dataflow.googleapis.com/default_requests",
+ // "quota_limit": "DefaultRequestsPerMinutePerOrganization"
+ // }
+ // }
+ RATE_LIMIT_EXCEEDED = 5;
+
+ // The request is denied because there is not enough resource quota for the
+ // consumer.
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to contact
+ // "compute.googleapis.com" service because consumer's resource quota usage
+ // has reached the maximum value set for the quota limit "VMsPerProject"
+ // on the quota metric "compute.googleapis.com/vms":
+ //
+ // { "reason": "RESOURCE_QUOTA_EXCEEDED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "compute.googleapis.com",
+ // "quota_metric": "compute.googleapis.com/vms",
+ // "quota_limit": "VMsPerProject"
+ // }
+ // }
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" checks resource
+ // quota on the service "dataflow.googleapis.com" and hits the organization
+ // quota limit "jobs-per-organization" on the metric
+ // "dataflow.googleapis.com/job_count".
+ //
+ // { "reason": "RESOURCE_QUOTA_EXCEEDED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "dataflow.googleapis.com",
+ // "quota_metric": "dataflow.googleapis.com/job_count",
+ // "quota_limit": "jobs-per-organization"
+ // }
+ // }
+ RESOURCE_QUOTA_EXCEEDED = 6;
+
+ // The request whose associated billing account address is in a tax restricted
+ // location, violates the local tax restrictions when creating resources in
+ // the restricted region.
+ //
+ // Example of an ErrorInfo when creating the Cloud Storage Bucket in the
+ // container "projects/123" under a tax restricted region
+ // "locations/asia-northeast3":
+ //
+ // { "reason": "LOCATION_TAX_POLICY_VIOLATED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com",
+ // "location": "locations/asia-northeast3"
+ // }
+ // }
+ //
+ // This response indicates creating the Cloud Storage Bucket in
+ // "locations/asia-northeast3" violates the location tax restriction.
+ LOCATION_TAX_POLICY_VIOLATED = 10;
+
+ // The request is denied because the caller does not have required permission
+ // on the user project "projects/123" or the user project is invalid. For more
+ // information, check the [userProject System
+ // Parameters](https://cloud.google.com/apis/docs/system-parameters).
+ //
+ // Example of an ErrorInfo when the caller is calling Cloud Storage service
+ // with insufficient permissions on the user project:
+ //
+ // { "reason": "USER_PROJECT_DENIED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ USER_PROJECT_DENIED = 11;
+
+ // The request is denied because the consumer "projects/123" is suspended due
+ // to Terms of Service(Tos) violations. Check [Project suspension
+ // guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines)
+ // for more information.
+ //
+ // Example of an ErrorInfo when calling Cloud Storage service with the
+ // suspended consumer "projects/123":
+ //
+ // { "reason": "CONSUMER_SUSPENDED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ CONSUMER_SUSPENDED = 12;
+
+ // The request is denied because the associated consumer is invalid. It may be
+ // in a bad format, cannot be found, or have been deleted.
+ //
+ // Example of an ErrorInfo when calling Cloud Storage service with the
+ // invalid consumer "projects/123":
+ //
+ // { "reason": "CONSUMER_INVALID",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ CONSUMER_INVALID = 14;
+
+ // The request is denied because it violates [VPC Service
+ // Controls](https://cloud.google.com/vpc-service-controls/docs/overview).
+ // The 'uid' field is a random generated identifier that customer can use it
+ // to search the audit log for a request rejected by VPC Service Controls. For
+ // more information, please refer [VPC Service Controls
+ // Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id)
+ //
+ // Example of an ErrorInfo when the consumer "projects/123" fails to call
+ // Cloud Storage service because the request is prohibited by the VPC Service
+ // Controls.
+ //
+ // { "reason": "SECURITY_POLICY_VIOLATED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "uid": "123456789abcde",
+ // "consumer": "projects/123",
+ // "service": "storage.googleapis.com"
+ // }
+ // }
+ SECURITY_POLICY_VIOLATED = 15;
+
+ // The request is denied because the provided access token has expired.
+ //
+ // Example of an ErrorInfo when the request is calling Cloud Storage service
+ // with an expired access token:
+ //
+ // { "reason": "ACCESS_TOKEN_EXPIRED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "service": "storage.googleapis.com",
+ // "method": "google.storage.v1.Storage.GetObject"
+ // }
+ // }
+ ACCESS_TOKEN_EXPIRED = 16;
+
+ // The request is denied because the provided access token doesn't have at
+ // least one of the acceptable scopes required for the API. Please check
+ // [OAuth 2.0 Scopes for Google
+ // APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for
+ // the list of the OAuth 2.0 scopes that you might need to request to access
+ // the API.
+ //
+ // Example of an ErrorInfo when the request is calling Cloud Storage service
+ // with an access token that is missing required scopes:
+ //
+ // { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "service": "storage.googleapis.com",
+ // "method": "google.storage.v1.Storage.GetObject"
+ // }
+ // }
+ ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17;
+
+ // The request is denied because the account associated with the provided
+ // access token is in an invalid state, such as disabled or deleted.
+ // For more information, see https://cloud.google.com/docs/authentication.
+ //
+ // Warning: For privacy reasons, the server may not be able to disclose the
+ // email address for some accounts. The client MUST NOT depend on the
+ // availability of the `email` attribute.
+ //
+ // Example of an ErrorInfo when the request is to the Cloud Storage API with
+ // an access token that is associated with a disabled or deleted [service
+ // account](http://cloud/iam/docs/service-accounts):
+ //
+ // { "reason": "ACCOUNT_STATE_INVALID",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "service": "storage.googleapis.com",
+ // "method": "google.storage.v1.Storage.GetObject",
+ // "email": "user@123.iam.gserviceaccount.com"
+ // }
+ // }
+ ACCOUNT_STATE_INVALID = 18;
+
+ // The request is denied because the type of the provided access token is not
+ // supported by the API being called.
+ //
+ // Example of an ErrorInfo when the request is to the Cloud Storage API with
+ // an unsupported token type.
+ //
+ // { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED",
+ // "domain": "googleapis.com",
+ // "metadata": {
+ // "service": "storage.googleapis.com",
+ // "method": "google.storage.v1.Storage.GetObject"
+ // }
+ // }
+ ACCESS_TOKEN_TYPE_UNSUPPORTED = 19;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto b/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto
index 686667954a..c4abe3b670 100644
--- a/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/field_behavior.proto
@@ -1,4 +1,4 @@
-// Copyright 2020 Google LLC
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -78,7 +78,13 @@ enum FieldBehavior {
// Denotes that a (repeated) field is an unordered list.
// This indicates that the service may provide the elements of the list
- // in any arbitrary order, rather than the order the user originally
+ // in any arbitrary order, rather than the order the user originally
// provided. Additionally, the list's order may or may not be stable.
UNORDERED_LIST = 6;
+
+ // Denotes that this field returns a non-empty default value if not set.
+ // This indicates that if the user provides the empty value in a request,
+ // a non-empty value will be returned. The user will not be aware of what
+ // non-empty value to expect.
+ NON_EMPTY_DEFAULT = 7;
}
diff --git a/contrib/libs/googleapis-common-protos/google/api/http.proto b/contrib/libs/googleapis-common-protos/google/api/http.proto
index 2bd3a19bfa..113fa936a0 100644
--- a/contrib/libs/googleapis-common-protos/google/api/http.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/http.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -23,7 +23,6 @@ option java_outer_classname = "HttpProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Defines the HTTP configuration for an API service. It contains a list of
// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
// to one or more HTTP REST API methods.
@@ -33,7 +32,7 @@ message Http {
// **NOTE:** All service configuration rules follow "last one wins" order.
repeated HttpRule rules = 1;
- // When set to true, URL path parmeters will be fully URI-decoded except in
+ // When set to true, URL path parameters will be fully URI-decoded except in
// cases of single segment matches in reserved expansion, where "%2F" will be
// left encoded.
//
@@ -42,94 +41,94 @@ message Http {
bool fully_decode_reserved_expansion = 2;
}
-// `HttpRule` defines the mapping of an RPC method to one or more HTTP
-// REST API methods. The mapping specifies how different portions of the RPC
-// request message are mapped to URL path, URL query parameters, and
-// HTTP request body. The mapping is typically specified as an
-// `google.api.http` annotation on the RPC method,
-// see "google/api/annotations.proto" for details.
-//
-// The mapping consists of a field specifying the path template and
-// method kind. The path template can refer to fields in the request
-// message, as in the example below which describes a REST GET
-// operation on a resource collection of messages:
-//
+// # gRPC Transcoding
+//
+// gRPC Transcoding is a feature for mapping between a gRPC method and one or
+// more HTTP REST endpoints. It allows developers to build a single API service
+// that supports both gRPC APIs and REST APIs. Many systems, including [Google
+// APIs](https://github.com/googleapis/googleapis),
+// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
+// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
+// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
+// and use it for large scale production services.
+//
+// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
+// how different portions of the gRPC request message are mapped to the URL
+// path, URL query parameters, and HTTP request body. It also controls how the
+// gRPC response message is mapped to the HTTP response body. `HttpRule` is
+// typically specified as an `google.api.http` annotation on the gRPC method.
+//
+// Each mapping specifies a URL path template and an HTTP method. The path
+// template may refer to one or more fields in the gRPC request message, as long
+// as each field is a non-repeated field with a primitive (non-message) type.
+// The path template controls how fields of the request message are mapped to
+// the URL path.
+//
+// Example:
//
// service Messaging {
// rpc GetMessage(GetMessageRequest) returns (Message) {
-// option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+// option (google.api.http) = {
+// get: "/v1/{name=messages/*}"
+// };
// }
// }
// message GetMessageRequest {
-// message SubMessage {
-// string subfield = 1;
-// }
-// string message_id = 1; // mapped to the URL
-// SubMessage sub = 2; // `sub.subfield` is url-mapped
+// string name = 1; // Mapped to URL path.
// }
// message Message {
-// string text = 1; // content of the resource
+// string text = 1; // The resource content.
// }
//
-// The same http annotation can alternatively be expressed inside the
-// `GRPC API Configuration` YAML file.
+// This enables an HTTP REST to gRPC mapping as below:
//
-// http:
-// rules:
-// - selector: <proto_package_name>.Messaging.GetMessage
-// get: /v1/messages/{message_id}/{sub.subfield}
-//
-// This definition enables an automatic, bidrectional mapping of HTTP
-// JSON to RPC. Example:
-//
-// HTTP | RPC
+// HTTP | gRPC
// -----|-----
-// `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
-//
-// In general, not only fields but also field paths can be referenced
-// from a path pattern. Fields mapped to the path pattern cannot be
-// repeated and must have a primitive (non-message) type.
-//
-// Any fields in the request message which are not bound by the path
-// pattern automatically become (optional) HTTP query
-// parameters. Assume the following definition of the request message:
+// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
//
+// Any fields in the request message which are not bound by the path template
+// automatically become HTTP query parameters if there is no HTTP request body.
+// For example:
//
// service Messaging {
// rpc GetMessage(GetMessageRequest) returns (Message) {
-// option (google.api.http).get = "/v1/messages/{message_id}";
+// option (google.api.http) = {
+// get:"/v1/messages/{message_id}"
+// };
// }
// }
// message GetMessageRequest {
// message SubMessage {
// string subfield = 1;
// }
-// string message_id = 1; // mapped to the URL
-// int64 revision = 2; // becomes a parameter
-// SubMessage sub = 3; // `sub.subfield` becomes a parameter
+// string message_id = 1; // Mapped to URL path.
+// int64 revision = 2; // Mapped to URL query parameter `revision`.
+// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
// }
//
-//
// This enables a HTTP JSON to RPC mapping as below:
//
-// HTTP | RPC
+// HTTP | gRPC
// -----|-----
-// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
-//
-// Note that fields which are mapped to HTTP parameters must have a
-// primitive type or a repeated primitive type. Message types are not
-// allowed. In the case of a repeated type, the parameter can be
-// repeated in the URL, as in `...?param=A&param=B`.
-//
-// For HTTP method kinds which allow a request body, the `body` field
+// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
+// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
+// "foo"))`
+//
+// Note that fields which are mapped to URL query parameters must have a
+// primitive type or a repeated primitive type or a non-repeated message type.
+// In the case of a repeated type, the parameter can be repeated in the URL
+// as `...?param=A&param=B`. In the case of a message type, each field of the
+// message is mapped to a separate parameter, such as
+// `...?foo.a=A&foo.b=B&foo.c=C`.
+//
+// For HTTP methods that allow a request body, the `body` field
// specifies the mapping. Consider a REST update method on the
// message resource collection:
//
-//
// service Messaging {
// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
// option (google.api.http) = {
-// put: "/v1/messages/{message_id}"
+// patch: "/v1/messages/{message_id}"
// body: "message"
// };
// }
@@ -139,14 +138,14 @@ message Http {
// Message message = 2; // mapped to the body
// }
//
-//
// The following HTTP JSON to RPC mapping is enabled, where the
// representation of the JSON in the request body is determined by
// protos JSON encoding:
//
-// HTTP | RPC
+// HTTP | gRPC
// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
+// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
+// "123456" message { text: "Hi!" })`
//
// The special name `*` can be used in the body mapping to define that
// every field not bound by the path template should be mapped to the
@@ -156,7 +155,7 @@ message Http {
// service Messaging {
// rpc UpdateMessage(Message) returns (Message) {
// option (google.api.http) = {
-// put: "/v1/messages/{message_id}"
+// patch: "/v1/messages/{message_id}"
// body: "*"
// };
// }
@@ -169,13 +168,14 @@ message Http {
//
// The following HTTP JSON to RPC mapping is enabled:
//
-// HTTP | RPC
+// HTTP | gRPC
// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")`
+// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
+// "123456" text: "Hi!")`
//
// Note that when using `*` in the body mapping, it is not possible to
// have HTTP parameters, as all fields not bound by the path end in
-// the body. This makes this option more rarely used in practice of
+// the body. This makes this option more rarely used in practice when
// defining REST APIs. The common usage of `*` is in custom methods
// which don't use the URL at all for transferring data.
//
@@ -197,32 +197,31 @@ message Http {
// string user_id = 2;
// }
//
+// This enables the following two alternative HTTP JSON to RPC mappings:
//
-// This enables the following two alternative HTTP JSON to RPC
-// mappings:
-//
-// HTTP | RPC
+// HTTP | gRPC
// -----|-----
// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
-// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")`
-//
-// # Rules for HTTP mapping
-//
-// The rules for mapping HTTP path, query parameters, and body fields
-// to the request message are as follows:
-//
-// 1. The `body` field specifies either `*` or a field path, or is
-// omitted. If omitted, it indicates there is no HTTP request body.
-// 2. Leaf fields (recursive expansion of nested messages in the
-// request) can be classified into three types:
-// (a) Matched in the URL template.
-// (b) Covered by body (if body is `*`, everything except (a) fields;
-// else everything under the body field)
-// (c) All other fields.
-// 3. URL query parameters found in the HTTP request are mapped to (c) fields.
-// 4. Any body sent with an HTTP request can contain only (b) fields.
-//
-// The syntax of the path template is as follows:
+// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
+// "123456")`
+//
+// ## Rules for HTTP mapping
+//
+// 1. Leaf request fields (recursive expansion nested messages in the request
+// message) are classified into three categories:
+// - Fields referred by the path template. They are passed via the URL path.
+// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
+// request body.
+// - All other fields are passed via the URL query parameters, and the
+// parameter name is the field path in the request message. A repeated
+// field can be represented as multiple query parameters under the same
+// name.
+// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
+// are passed via URL path and HTTP request body.
+// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
+// fields are passed via URL path and URL query parameters.
+//
+// ### Path template syntax
//
// Template = "/" Segments [ Verb ] ;
// Segments = Segment { "/" Segment } ;
@@ -231,36 +230,88 @@ message Http {
// FieldPath = IDENT { "." IDENT } ;
// Verb = ":" LITERAL ;
//
-// The syntax `*` matches a single path segment. The syntax `**` matches zero
-// or more path segments, which must be the last part of the path except the
-// `Verb`. The syntax `LITERAL` matches literal text in the path.
+// The syntax `*` matches a single URL path segment. The syntax `**` matches
+// zero or more URL path segments, which must be the last part of the URL path
+// except the `Verb`.
//
// The syntax `Variable` matches part of the URL path as specified by its
// template. A variable template must not contain other variables. If a variable
// matches a single path segment, its template may be omitted, e.g. `{var}`
// is equivalent to `{var=*}`.
//
+// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
+// contains any reserved character, such characters should be percent-encoded
+// before the matching.
+//
// If a variable contains exactly one path segment, such as `"{var}"` or
-// `"{var=*}"`, when such a variable is expanded into a URL path, all characters
-// except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the
-// Discovery Document as `{var}`.
-//
-// If a variable contains one or more path segments, such as `"{var=foo/*}"`
-// or `"{var=**}"`, when such a variable is expanded into a URL path, all
-// characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables
-// show up in the Discovery Document as `{+var}`.
-//
-// NOTE: While the single segment variable matches the semantics of
-// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
-// Simple String Expansion, the multi segment variable **does not** match
-// RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion
+// `"{var=*}"`, when such a variable is expanded into a URL path on the client
+// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
+// server side does the reverse decoding. Such variables show up in the
+// [Discovery
+// Document](https://developers.google.com/discovery/v1/reference/apis) as
+// `{var}`.
+//
+// If a variable contains multiple path segments, such as `"{var=foo/*}"`
+// or `"{var=**}"`, when such a variable is expanded into a URL path on the
+// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
+// The server side does the reverse decoding, except "%2F" and "%2f" are left
+// unchanged. Such variables show up in the
+// [Discovery
+// Document](https://developers.google.com/discovery/v1/reference/apis) as
+// `{+var}`.
+//
+// ## Using gRPC API Service Configuration
+//
+// gRPC API Service Configuration (service config) is a configuration language
+// for configuring a gRPC service to become a user-facing product. The
+// service config is simply the YAML representation of the `google.api.Service`
+// proto message.
+//
+// As an alternative to annotating your proto file, you can configure gRPC
+// transcoding in your service config YAML files. You do this by specifying a
+// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
+// effect as the proto annotation. This can be particularly useful if you
+// have a proto that is reused in multiple services. Note that any transcoding
+// specified in the service config will override any matching transcoding
+// configuration in the proto.
+//
+// Example:
+//
+// http:
+// rules:
+// # Selects a gRPC method and applies HttpRule to it.
+// - selector: example.v1.Messaging.GetMessage
+// get: /v1/messages/{message_id}/{sub.subfield}
+//
+// ## Special notes
+//
+// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
+// proto to JSON conversion must follow the [proto3
+// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
+//
+// While the single segment variable follows the semantics of
+// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
+// Expansion, the multi segment variable **does not** follow RFC 6570 Section
+// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
// does not expand special characters like `?` and `#`, which would lead
-// to invalid URLs.
+// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
+// for multi segment variables.
//
-// NOTE: the field paths in variables and in the `body` must not refer to
-// repeated fields or map fields.
+// The path variables **must not** refer to any repeated or mapped field,
+// because client libraries are not capable of handling such variable expansion.
+//
+// The path variables **must not** capture the leading "/" character. The reason
+// is that the most common use case "{var}" does not capture the leading "/"
+// character. For consistency, all path variables must share the same behavior.
+//
+// Repeated message fields must not be mapped to URL query parameters, because
+// no client library can support such complicated mapping.
+//
+// If an API needs to use a JSON array for request or response body, it can map
+// the request or response body to a repeated field. However, some gRPC
+// Transcoding implementations may not support this feature.
message HttpRule {
- // Selects methods to which this rule applies.
+ // Selects a method to which this rule applies.
//
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
string selector = 1;
@@ -269,19 +320,20 @@ message HttpRule {
// used with any of the {get|put|post|delete|patch} methods. A custom method
// can be defined using the 'custom' field.
oneof pattern {
- // Used for listing and getting information about resources.
+ // Maps to HTTP GET. Used for listing and getting information about
+ // resources.
string get = 2;
- // Used for updating a resource.
+ // Maps to HTTP PUT. Used for replacing a resource.
string put = 3;
- // Used for creating a resource.
+ // Maps to HTTP POST. Used for creating a resource or performing an action.
string post = 4;
- // Used for deleting a resource.
+ // Maps to HTTP DELETE. Used for deleting a resource.
string delete = 5;
- // Used for updating a resource.
+ // Maps to HTTP PATCH. Used for updating a resource.
string patch = 6;
// The custom pattern is used for specifying an HTTP method that is not
@@ -291,15 +343,20 @@ message HttpRule {
CustomHttpPattern custom = 8;
}
- // The name of the request field whose value is mapped to the HTTP body, or
- // `*` for mapping all fields not captured by the path pattern to the HTTP
- // body. NOTE: the referred field must not be a repeated field and must be
- // present at the top-level of request message type.
+ // The name of the request field whose value is mapped to the HTTP request
+ // body, or `*` for mapping all request fields not captured by the path
+ // pattern to the HTTP body, or omitted for not having any HTTP request body.
+ //
+ // NOTE: the referred field must be present at the top-level of the request
+ // message type.
string body = 7;
// Optional. The name of the response field whose value is mapped to the HTTP
- // body of response. Other response fields are ignored. When
- // not set, the response message will be used as HTTP body of response.
+ // response body. When omitted, the entire response message will be used
+ // as the HTTP response body.
+ //
+ // NOTE: The referred field must be present at the top-level of the response
+ // message type.
string response_body = 12;
// Additional HTTP bindings for the selector. Nested bindings must
diff --git a/contrib/libs/googleapis-common-protos/google/api/httpbody.proto b/contrib/libs/googleapis-common-protos/google/api/httpbody.proto
index 0e86e267d7..00c80aba9d 100644
--- a/contrib/libs/googleapis-common-protos/google/api/httpbody.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/httpbody.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -18,13 +18,13 @@ package google.api;
import "google/protobuf/any.proto";
+option cc_enable_arenas = true;
option go_package = "google.golang.org/genproto/googleapis/api/httpbody;httpbody";
option java_multiple_files = true;
option java_outer_classname = "HttpBodyProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Message that represents an arbitrary HTTP body. It should only be used for
// payload formats that can't be represented as JSON, such as raw binary or
// an HTML page.
@@ -45,11 +45,15 @@ option objc_class_prefix = "GAPI";
//
// // The raw HTTP body is bound to this field.
// google.api.HttpBody http_body = 2;
+//
// }
//
// service ResourceService {
-// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
-// rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
+// rpc GetResource(GetResourceRequest)
+// returns (google.api.HttpBody);
+// rpc UpdateResource(google.api.HttpBody)
+// returns (google.protobuf.Empty);
+//
// }
//
// Example with streaming methods:
@@ -59,15 +63,16 @@ option objc_class_prefix = "GAPI";
// returns (stream google.api.HttpBody);
// rpc UpdateCalendar(stream google.api.HttpBody)
// returns (stream google.api.HttpBody);
+//
// }
//
// Use of this type only changes how the request and response bodies are
// handled, all other features will continue to work unchanged.
message HttpBody {
- // The HTTP Content-Type string representing the content type of the body.
+ // The HTTP Content-Type header value specifying the content type of the body.
string content_type = 1;
- // HTTP body binary data.
+ // The HTTP request/response body as raw binary.
bytes data = 2;
// Application specific response metadata. Must be set in the first response
diff --git a/contrib/libs/googleapis-common-protos/google/api/label.proto b/contrib/libs/googleapis-common-protos/google/api/label.proto
index 3c20752ceb..af294c91ca 100644
--- a/contrib/libs/googleapis-common-protos/google/api/label.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/label.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -23,7 +23,6 @@ option java_outer_classname = "LabelProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// A description of a label.
message LabelDescriptor {
// Value types that can be used as label values.
diff --git a/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto b/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto
index 55fd914242..cca8419a96 100644
--- a/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/launch_stage.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -29,6 +28,12 @@ enum LaunchStage {
// Do not use this default value.
LAUNCH_STAGE_UNSPECIFIED = 0;
+ // The feature is not yet implemented. Users can not use it.
+ UNIMPLEMENTED = 6;
+
+ // Prelaunch features are hidden from users and are only visible internally.
+ PRELAUNCH = 7;
+
// Early Access features are limited to a closed group of testers. To use
// these features, you must sign up in advance and sign a Trusted Tester
// agreement (which includes confidentiality provisions). These features may
@@ -40,7 +45,7 @@ enum LaunchStage {
// for widespread use. By Alpha, all significant design issues are resolved
// and we are in the process of verifying functionality. Alpha customers
// need to apply for access, agree to applicable terms, and have their
- // projects whitelisted. Alpha releases don’t have to be feature complete,
+ // projects allowlisted. Alpha releases don’t have to be feature complete,
// no SLAs are provided, and there are no technical support obligations, but
// they will be far enough along that customers can actually use them in
// test environments or for limited-use tests -- just like they would in
diff --git a/contrib/libs/googleapis-common-protos/google/api/log.proto b/contrib/libs/googleapis-common-protos/google/api/log.proto
index 673b5245ab..22ee289372 100644
--- a/contrib/libs/googleapis-common-protos/google/api/log.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/log.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@ option java_outer_classname = "LogProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// A description of a log type. Example in YAML format:
//
// - name: library.googleapis.com/activity_history
diff --git a/contrib/libs/googleapis-common-protos/google/api/logging.proto b/contrib/libs/googleapis-common-protos/google/api/logging.proto
index ee7c1966e4..e60f77ca50 100644
--- a/contrib/libs/googleapis-common-protos/google/api/logging.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/logging.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,15 +16,12 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "LoggingProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Logging configuration of the service.
//
// The following example shows how to configure logs to be sent to the
diff --git a/contrib/libs/googleapis-common-protos/google/api/metric.proto b/contrib/libs/googleapis-common-protos/google/api/metric.proto
index 5473ce5bfe..aadc19677d 100644
--- a/contrib/libs/googleapis-common-protos/google/api/metric.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/metric.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -17,6 +17,8 @@ syntax = "proto3";
package google.api;
import "google/api/label.proto";
+import "google/api/launch_stage.proto";
+import "google/protobuf/duration.proto";
option go_package = "google.golang.org/genproto/googleapis/api/metric;metric";
option java_multiple_files = true;
@@ -24,12 +26,31 @@ option java_outer_classname = "MetricProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Defines a metric type and its schema. Once a metric descriptor is created,
// deleting or altering it stops data collection and makes the metric type's
// existing data unusable.
+//
message MetricDescriptor {
+ // Additional annotations that can be used to guide the usage of a metric.
+ message MetricDescriptorMetadata {
+ // Deprecated. Must use the [MetricDescriptor.launch_stage][google.api.MetricDescriptor.launch_stage] instead.
+ LaunchStage launch_stage = 1 [deprecated = true];
+
+ // The sampling period of metric data points. For metrics which are written
+ // periodically, consecutive data points are stored at this time interval,
+ // excluding data loss due to errors. Metrics with a higher granularity have
+ // a smaller sampling period.
+ google.protobuf.Duration sample_period = 2;
+
+ // The delay of data points caused by ingestion. Data points older than this
+ // age are guaranteed to be ingested and available to be read, excluding
+ // data loss due to errors.
+ google.protobuf.Duration ingest_delay = 3;
+ }
+
// The kind of measurement. It describes how the data is reported.
+ // For information on setting the start time and end time based on
+ // the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval].
enum MetricKind {
// Do not use this default value.
METRIC_KIND_UNSPECIFIED = 0;
@@ -78,11 +99,12 @@ message MetricDescriptor {
string name = 1;
// The metric type, including its DNS name prefix. The type is not
- // URL-encoded. All user-defined custom metric types have the DNS name
- // `custom.googleapis.com`. Metric types should use a natural hierarchical
- // grouping. For example:
+ // URL-encoded. All user-defined metric types have the DNS name
+ // `custom.googleapis.com` or `external.googleapis.com`. Metric types should
+ // use a natural hierarchical grouping. For example:
//
// "custom.googleapis.com/invoice/paid/amount"
+ // "external.googleapis.com/prometheus/up"
// "appengine.googleapis.com/http/server/response_latencies"
string type = 8;
@@ -102,10 +124,28 @@ message MetricDescriptor {
// Some combinations of `metric_kind` and `value_type` might not be supported.
ValueType value_type = 4;
- // The unit in which the metric value is reported. It is only applicable
- // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
- // supported units are a subset of [The Unified Code for Units of
- // Measure](http://unitsofmeasure.org/ucum.html) standard:
+ // The units in which the metric value is reported. It is only applicable
+ // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
+ // defines the representation of the stored metric values.
+ //
+ // Different systems might scale the values to be more easily displayed (so a
+ // value of `0.02kBy` _might_ be displayed as `20By`, and a value of
+ // `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
+ // `kBy`, then the value of the metric is always in thousands of bytes, no
+ // matter how it might be displayed.
+ //
+ // If you want a custom metric to record the exact number of CPU-seconds used
+ // by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
+ // `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
+ // CPU-seconds, then the value is written as `12005`.
+ //
+ // Alternatively, if you want a custom metric to record data in a more
+ // granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
+ // `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
+ // or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
+ //
+ // The supported units are a subset of [The Unified Code for Units of
+ // Measure](https://unitsofmeasure.org/ucum.html) standard:
//
// **Basic units (UNIT)**
//
@@ -115,36 +155,44 @@ message MetricDescriptor {
// * `min` minute
// * `h` hour
// * `d` day
+ // * `1` dimensionless
//
// **Prefixes (PREFIX)**
//
- // * `k` kilo (10**3)
- // * `M` mega (10**6)
- // * `G` giga (10**9)
- // * `T` tera (10**12)
- // * `P` peta (10**15)
- // * `E` exa (10**18)
- // * `Z` zetta (10**21)
- // * `Y` yotta (10**24)
- // * `m` milli (10**-3)
- // * `u` micro (10**-6)
- // * `n` nano (10**-9)
- // * `p` pico (10**-12)
- // * `f` femto (10**-15)
- // * `a` atto (10**-18)
- // * `z` zepto (10**-21)
- // * `y` yocto (10**-24)
- // * `Ki` kibi (2**10)
- // * `Mi` mebi (2**20)
- // * `Gi` gibi (2**30)
- // * `Ti` tebi (2**40)
+ // * `k` kilo (10^3)
+ // * `M` mega (10^6)
+ // * `G` giga (10^9)
+ // * `T` tera (10^12)
+ // * `P` peta (10^15)
+ // * `E` exa (10^18)
+ // * `Z` zetta (10^21)
+ // * `Y` yotta (10^24)
+ //
+ // * `m` milli (10^-3)
+ // * `u` micro (10^-6)
+ // * `n` nano (10^-9)
+ // * `p` pico (10^-12)
+ // * `f` femto (10^-15)
+ // * `a` atto (10^-18)
+ // * `z` zepto (10^-21)
+ // * `y` yocto (10^-24)
+ //
+ // * `Ki` kibi (2^10)
+ // * `Mi` mebi (2^20)
+ // * `Gi` gibi (2^30)
+ // * `Ti` tebi (2^40)
+ // * `Pi` pebi (2^50)
//
// **Grammar**
//
// The grammar also includes these connectors:
//
- // * `/` division (as an infix operator, e.g. `1/s`).
- // * `.` multiplication (as an infix operator, e.g. `GBy.d`)
+ // * `/` division or ratio (as an infix operator). For examples,
+ // `kBy/{email}` or `MiBy/10ms` (although you should almost never
+ // have `/s` in a metric `unit`; rates should always be computed at
+ // query time from the underlying cumulative or delta value).
+ // * `.` multiplication or composition (as an infix operator). For
+ // examples, `GBy.d` or `k{watt}.h`.
//
// The grammar for a unit is as follows:
//
@@ -159,14 +207,25 @@ message MetricDescriptor {
//
// Notes:
//
- // * `Annotation` is just a comment if it follows a `UNIT` and is
- // equivalent to `1` if it is used alone. For examples,
- // `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
+ // * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
+ // is used alone, then the unit is equivalent to `1`. For examples,
+ // `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
// * `NAME` is a sequence of non-blank printable ASCII characters not
- // containing '{' or '}'.
- // * `1` represents dimensionless value 1, such as in `1/s`.
- // * `%` represents dimensionless value 1/100, and annotates values giving
- // a percentage.
+ // containing `{` or `}`.
+ // * `1` represents a unitary [dimensionless
+ // unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
+ // as in `1/s`. It is typically used when none of the basic units are
+ // appropriate. For example, "new users per day" can be represented as
+ // `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
+ // users). Alternatively, "thousands of page views per day" would be
+ // represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
+ // value of `5.3` would mean "5300 page views per day").
+ // * `%` represents dimensionless value of 1/100, and annotates values giving
+ // a percentage (so the metric values are typically in the range of 0..100,
+ // and a metric value `3` means "3 percent").
+ // * `10^2.%` indicates a metric contains a ratio, typically in the range
+ // 0..1, that will be multiplied by 100 and displayed as a percentage
+ // (so a metric value `0.03` means "3 percent").
string unit = 5;
// A detailed description of the metric, which can be used in documentation.
@@ -177,6 +236,19 @@ message MetricDescriptor {
// This field is optional but it is recommended to be set for any metrics
// associated with user-visible concepts, such as Quota.
string display_name = 7;
+
+ // Optional. Metadata which can be used to guide usage of the metric.
+ MetricDescriptorMetadata metadata = 10;
+
+ // Optional. The launch stage of the metric definition.
+ LaunchStage launch_stage = 12;
+
+ // Read-only. If present, then a [time
+ // series][google.monitoring.v3.TimeSeries], which is identified partially by
+ // a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
+ // with this metric type can only be associated with one of the monitored
+ // resource types listed here.
+ repeated string monitored_resource_types = 13;
}
// A specific metric, identified by specifying values for all of the
diff --git a/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto b/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto
index 189ccd4aa7..bd5be4e4e8 100644
--- a/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/monitored_resource.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@ syntax = "proto3";
package google.api;
import "google/api/label.proto";
+import "google/api/launch_stage.proto";
import "google/protobuf/struct.proto";
option cc_enable_arenas = true;
@@ -26,7 +27,6 @@ option java_outer_classname = "MonitoredResourceProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a
// type name and a set of labels. For example, the monitored resource
// descriptor for Google Compute Engine VM instances has a type of
@@ -36,6 +36,7 @@ option objc_class_prefix = "GAPI";
// Different APIs can support different monitored resource types. APIs generally
// provide a `list` method that returns the monitored resource descriptors used
// by the API.
+//
message MonitoredResourceDescriptor {
// Optional. The resource name of the monitored resource descriptor:
// `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
@@ -47,7 +48,6 @@ message MonitoredResourceDescriptor {
// Required. The monitored resource type. For example, the type
// `"cloudsql_database"` represents databases in Google Cloud SQL.
- // The maximum length of this value is 256 characters.
string type = 1;
// Optional. A concise name for the monitored resource type that might be
@@ -64,6 +64,9 @@ message MonitoredResourceDescriptor {
// resource type. For example, an individual Google Cloud SQL database is
// identified by values for the labels `"database_id"` and `"zone"`.
repeated LabelDescriptor labels = 4;
+
+ // Optional. The launch stage of the monitored resource definition.
+ LaunchStage launch_stage = 7;
}
// An object representing a resource that can be used for monitoring, logging,
@@ -94,14 +97,13 @@ message MonitoredResource {
// Auxiliary metadata for a [MonitoredResource][google.api.MonitoredResource] object.
// [MonitoredResource][google.api.MonitoredResource] objects contain the minimum set of information to
// uniquely identify a monitored resource instance. There is some other useful
-// auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion
-// pipeline to extract metadata for cloud resources of all types , and stores
+// auxiliary metadata. Monitoring and Logging use an ingestion
+// pipeline to extract metadata for cloud resources of all types, and store
// the metadata in this message.
message MonitoredResourceMetadata {
// Output only. Values for predefined system metadata labels.
- // System labels are a kind of metadata extracted by Google Stackdriver.
- // Stackdriver determines what system labels are useful and how to obtain
- // their values. Some examples: "machine_image", "vpc", "subnet_id",
+ // System labels are a kind of metadata extracted by Google, including
+ // "machine_image", "vpc", "subnet_id",
// "security_group", "name", etc.
// System label values can be only strings, Boolean values, or a list of
// strings. For example:
diff --git a/contrib/libs/googleapis-common-protos/google/api/monitoring.proto b/contrib/libs/googleapis-common-protos/google/api/monitoring.proto
index 30572146dc..60770ec5a3 100644
--- a/contrib/libs/googleapis-common-protos/google/api/monitoring.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/monitoring.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,52 +16,64 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "MonitoringProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Monitoring configuration of the service.
//
// The example below shows how to configure monitored resources and metrics
// for monitoring. In the example, a monitored resource and two metrics are
// defined. The `library.googleapis.com/book/returned_count` metric is sent
// to both producer and consumer projects, whereas the
-// `library.googleapis.com/book/overdue_count` metric is only sent to the
+// `library.googleapis.com/book/num_overdue` metric is only sent to the
// consumer project.
//
// monitored_resources:
-// - type: library.googleapis.com/branch
+// - type: library.googleapis.com/Branch
+// display_name: "Library Branch"
+// description: "A branch of a library."
+// launch_stage: GA
// labels:
-// - key: /city
-// description: The city where the library branch is located in.
-// - key: /name
-// description: The name of the branch.
+// - key: resource_container
+// description: "The Cloud container (ie. project id) for the Branch."
+// - key: location
+// description: "The location of the library branch."
+// - key: branch_id
+// description: "The id of the branch."
// metrics:
// - name: library.googleapis.com/book/returned_count
+// display_name: "Books Returned"
+// description: "The count of books that have been returned."
+// launch_stage: GA
// metric_kind: DELTA
// value_type: INT64
+// unit: "1"
// labels:
-// - key: /customer_id
-// - name: library.googleapis.com/book/overdue_count
+// - key: customer_id
+// description: "The id of the customer."
+// - name: library.googleapis.com/book/num_overdue
+// display_name: "Books Overdue"
+// description: "The current number of overdue books."
+// launch_stage: GA
// metric_kind: GAUGE
// value_type: INT64
+// unit: "1"
// labels:
-// - key: /customer_id
+// - key: customer_id
+// description: "The id of the customer."
// monitoring:
// producer_destinations:
-// - monitored_resource: library.googleapis.com/branch
+// - monitored_resource: library.googleapis.com/Branch
// metrics:
// - library.googleapis.com/book/returned_count
// consumer_destinations:
-// - monitored_resource: library.googleapis.com/branch
+// - monitored_resource: library.googleapis.com/Branch
// metrics:
// - library.googleapis.com/book/returned_count
-// - library.googleapis.com/book/overdue_count
+// - library.googleapis.com/book/num_overdue
message Monitoring {
// Configuration of a specific monitoring destination (the producer project
// or the consumer project).
@@ -70,20 +82,24 @@ message Monitoring {
// [Service.monitored_resources][google.api.Service.monitored_resources] section.
string monitored_resource = 1;
- // Names of the metrics to report to this monitoring destination.
- // Each name must be defined in [Service.metrics][google.api.Service.metrics] section.
+ // Types of the metrics to report to this monitoring destination.
+ // Each type must be defined in [Service.metrics][google.api.Service.metrics] section.
repeated string metrics = 2;
}
// Monitoring configurations for sending metrics to the producer project.
- // There can be multiple producer destinations, each one must have a
- // different monitored resource type. A metric can be used in at most
- // one producer destination.
+ // There can be multiple producer destinations. A monitored resource type may
+ // appear in multiple monitoring destinations if different aggregations are
+ // needed for different sets of metrics associated with that monitored
+ // resource type. A monitored resource and metric pair may only be used once
+ // in the Monitoring configuration.
repeated MonitoringDestination producer_destinations = 1;
// Monitoring configurations for sending metrics to the consumer project.
- // There can be multiple consumer destinations, each one must have a
- // different monitored resource type. A metric can be used in at most
- // one consumer destination.
+ // There can be multiple consumer destinations. A monitored resource type may
+ // appear in multiple monitoring destinations if different aggregations are
+ // needed for different sets of metrics associated with that monitored
+ // resource type. A monitored resource and metric pair may only be used once
+ // in the Monitoring configuration.
repeated MonitoringDestination consumer_destinations = 2;
}
diff --git a/contrib/libs/googleapis-common-protos/google/api/quota.proto b/contrib/libs/googleapis-common-protos/google/api/quota.proto
index aa327a1969..dae89de304 100644
--- a/contrib/libs/googleapis-common-protos/google/api/quota.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/quota.proto
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,19 +16,16 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "QuotaProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Quota configuration helps to achieve fairness and budgeting in service
// usage.
//
-// The quota configuration works this way:
+// The metric based quota configuration works this way:
// - The service configuration defines a set of metrics.
// - For API calls, the quota.metric_rules maps methods to metrics with
// corresponding costs.
@@ -46,6 +43,7 @@ option objc_class_prefix = "GAPI";
// values:
// STANDARD: 10000
//
+//
// # The metric rules bind all methods to the read_calls metric,
// # except for the UpdateBook and DeleteBook methods. These two methods
// # are mapped to the write_calls metric, with the UpdateBook method
@@ -74,24 +72,18 @@ option objc_class_prefix = "GAPI";
// metric_kind: DELTA
// value_type: INT64
//
+//
message Quota {
// List of `QuotaLimit` definitions for the service.
- //
- // Used by metric-based quotas only.
repeated QuotaLimit limits = 3;
// List of `MetricRule` definitions, each one mapping a selected method to one
// or more metrics.
- //
- // Used by metric-based quotas only.
repeated MetricRule metric_rules = 4;
}
// Bind API methods to metrics. Binding a method to a metric causes that
-// metric's configured quota, billing, and monitoring behaviors to apply to the
-// method call.
-//
-// Used by metric-based quotas only.
+// metric's configured quota behaviors to apply to the method call.
message MetricRule {
// Selects the methods to which this rule applies.
//
@@ -111,24 +103,12 @@ message MetricRule {
// for a limit type. There can be at most one limit for a duration and limit
// type combination defined within a `QuotaGroup`.
message QuotaLimit {
- // Name of the quota limit. The name is used to refer to the limit when
- // overriding the default limit on per-consumer basis.
- //
- // For group-based quota limits, the name must be unique within the quota
- // group. If a name is not provided, it will be generated from the limit_by
- // and duration fields.
+ // Name of the quota limit.
//
- // For metric-based quota limits, the name must be provided, and it must be
- // unique within the service. The name can only include alphanumeric
- // characters as well as '-'.
+ // The name must be provided, and it must be unique within the service. The
+ // name can only include alphanumeric characters as well as '-'.
//
// The maximum length of the limit name is 64 characters.
- //
- // The name of a limit is used as a unique identifier for this limit.
- // Therefore, once a limit has been put into use, its name should be
- // immutable. You can use the display_name field to provide a user-friendly
- // name for the limit. The display name can be evolved over time without
- // affecting the identity of the limit.
string name = 6;
// Optional. User-visible, extended description for this quota limit.
@@ -169,10 +149,7 @@ message QuotaLimit {
// Used by group-based quotas only.
int64 free_tier = 7;
- // Duration of this limit in textual notation. Example: "100s", "24h", "1d".
- // For duration longer than a day, only multiple of days is supported. We
- // support only "100s" and "1d" for now. Additional support will be added in
- // the future. "0" indicates indefinite duration.
+ // Duration of this limit in textual notation. Must be "100s" or "1d".
//
// Used by group-based quotas only.
string duration = 5;
@@ -180,75 +157,22 @@ message QuotaLimit {
// The name of the metric this quota limit applies to. The quota limits with
// the same metric will be checked together during runtime. The metric must be
// defined within the service config.
- //
- // Used by metric-based quotas only.
string metric = 8;
// Specify the unit of the quota limit. It uses the same syntax as
// [Metric.unit][]. The supported unit kinds are determined by the quota
// backend system.
//
- // The [Google Service Control](https://cloud.google.com/service-control)
- // supports the following unit components:
- // * One of the time intevals:
- // * "/min" for quota every minute.
- // * "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
- // * Otherwise the quota won't be reset by time, such as storage limit.
- // * One and only one of the granted containers:
- // * "/{organization}" quota for an organization.
- // * "/{project}" quota for a project.
- // * "/{folder}" quota for a folder.
- // * "/{resource}" quota for a universal resource.
- // * Zero or more quota segmentation dimension. Not all combos are valid.
- // * "/{region}" quota for every region. Not to be used with time intervals.
- // * Otherwise the resources granted on the target is not segmented.
- // * "/{zone}" quota for every zone. Not to be used with time intervals.
- // * Otherwise the resources granted on the target is not segmented.
- // * "/{resource}" quota for a resource associated with a project or org.
- //
// Here are some examples:
// * "1/min/{project}" for quota per minute per project.
- // * "1/min/{user}" for quota per minute per user.
- // * "1/min/{organization}" for quota per minute per organization.
//
// Note: the order of unit components is insignificant.
// The "1" at the beginning is required to follow the metric unit syntax.
- //
- // Used by metric-based quotas only.
string unit = 9;
- // Tiered limit values. Also allows for regional or zone overrides for these
- // values if "/{region}" or "/{zone}" is specified in the unit field.
- //
- // Currently supported tiers from low to high:
- // VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
- //
- // To apply different limit values for users according to their tiers, specify
- // the values for the tiers you want to differentiate. For example:
- // {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
- //
- // The limit value for each tier is optional except for the tier STANDARD.
- // The limit value for an unspecified tier falls to the value of its next
- // tier towards tier STANDARD. For the above example, the limit value for tier
- // STANDARD is 500.
- //
- // To apply the same limit value for all users, just specify limit value for
- // tier STANDARD. For example: {STANDARD:500}.
- //
- // To apply a regional overide for a tier, add a map entry with key
- // "<TIER>/<region>", where <region> is a region name. Similarly, for a zone
- // override, add a map entry with key "<TIER>/{zone}".
- // Further, a wildcard can be used at the end of a zone name in order to
- // specify zone level overrides. For example:
- // LOW: 10, STANDARD: 50, HIGH: 100,
- // LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
- // LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80
- //
- // The regional overrides tier set for each region must be the same as
- // the tier set for default limit values. Same rule applies for zone overrides
- // tier as well.
- //
- // Used by metric-based quotas only.
+ // Tiered limit values. You must specify this as a key:value pair, with an
+ // integer value that is the maximum number of requests allowed for the
+ // specified unit. Currently only STANDARD is supported.
map<string, int64> values = 10;
// User-visible display name for this limit.
diff --git a/contrib/libs/googleapis-common-protos/google/api/resource.proto b/contrib/libs/googleapis-common-protos/google/api/resource.proto
index fd9ee66def..0ce0344f57 100644
--- a/contrib/libs/googleapis-common-protos/google/api/resource.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/resource.proto
@@ -1,4 +1,4 @@
-// Copyright 2020 Google LLC
+// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -57,11 +57,7 @@ extend google.protobuf.MessageOptions {
// // For Kubernetes resources, the format is {api group}/{kind}.
// option (google.api.resource) = {
// type: "pubsub.googleapis.com/Topic"
-// name_descriptor: {
-// pattern: "projects/{project}/topics/{topic}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// }
+// pattern: "projects/{project}/topics/{topic}"
// };
// }
//
@@ -69,10 +65,7 @@ extend google.protobuf.MessageOptions {
//
// resources:
// - type: "pubsub.googleapis.com/Topic"
-// name_descriptor:
-// - pattern: "projects/{project}/topics/{topic}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
+// pattern: "projects/{project}/topics/{topic}"
//
// Sometimes, resources have multiple patterns, typically because they can
// live under multiple parents.
@@ -82,26 +75,10 @@ extend google.protobuf.MessageOptions {
// message LogEntry {
// option (google.api.resource) = {
// type: "logging.googleapis.com/LogEntry"
-// name_descriptor: {
-// pattern: "projects/{project}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// }
-// name_descriptor: {
-// pattern: "folders/{folder}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// parent_name_extractor: "folders/{folder}"
-// }
-// name_descriptor: {
-// pattern: "organizations/{organization}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Organization"
-// parent_name_extractor: "organizations/{organization}"
-// }
-// name_descriptor: {
-// pattern: "billingAccounts/{billing_account}/logs/{log}"
-// parent_type: "billing.googleapis.com/BillingAccount"
-// parent_name_extractor: "billingAccounts/{billing_account}"
-// }
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
// };
// }
//
@@ -109,48 +86,10 @@ extend google.protobuf.MessageOptions {
//
// resources:
// - type: 'logging.googleapis.com/LogEntry'
-// name_descriptor:
-// - pattern: "projects/{project}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// - pattern: "folders/{folder}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// parent_name_extractor: "folders/{folder}"
-// - pattern: "organizations/{organization}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Organization"
-// parent_name_extractor: "organizations/{organization}"
-// - pattern: "billingAccounts/{billing_account}/logs/{log}"
-// parent_type: "billing.googleapis.com/BillingAccount"
-// parent_name_extractor: "billingAccounts/{billing_account}"
-//
-// For flexible resources, the resource name doesn't contain parent names, but
-// the resource itself has parents for policy evaluation.
-//
-// Example:
-//
-// message Shelf {
-// option (google.api.resource) = {
-// type: "library.googleapis.com/Shelf"
-// name_descriptor: {
-// pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// }
-// name_descriptor: {
-// pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// }
-// };
-// }
-//
-// The ResourceDescriptor Yaml config will look like:
-//
-// resources:
-// - type: 'library.googleapis.com/Shelf'
-// name_descriptor:
-// - pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// - pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
message ResourceDescriptor {
// A description of the historical or future-looking state of the
// resource pattern.
diff --git a/contrib/libs/googleapis-common-protos/google/api/service.proto b/contrib/libs/googleapis-common-protos/google/api/service.proto
index 951c7ac050..7cae8a9444 100644
--- a/contrib/libs/googleapis-common-protos/google/api/service.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/service.proto
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
import "google/api/auth.proto";
import "google/api/backend.proto";
import "google/api/billing.proto";
@@ -44,7 +43,6 @@ option java_outer_classname = "ServiceProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// `Service` is the root object of Google service configuration schema. It
// describes basic information about a service, such as the name and the
// title, and delegates other aspects to sub-sections. Each sub-section is
@@ -54,7 +52,6 @@ option objc_class_prefix = "GAPI";
// Example:
//
// type: google.api.Service
-// config_version: 3
// name: calendar.googleapis.com
// title: Google Calendar API
// apis:
@@ -69,27 +66,24 @@ option objc_class_prefix = "GAPI";
// requirements:
// provider_id: google_calendar_auth
message Service {
- // The semantic version of the service configuration. The config version
- // affects the interpretation of the service configuration. For example,
- // certain features are enabled by default for certain config versions.
- // The latest config version is `3`.
- google.protobuf.UInt32Value config_version = 20;
-
- // The DNS address at which this service is available,
- // e.g. `calendar.googleapis.com`.
+ // The service name, which is a DNS-like logical identifier for the
+ // service, such as `calendar.googleapis.com`. The service name
+ // typically goes through DNS verification to make sure the owner
+ // of the service also owns the DNS name.
string name = 1;
- // A unique ID for a specific instance of this message, typically assigned
- // by the client for tracking purpose. If empty, the server may choose to
- // generate one instead.
- string id = 33;
-
// The product title for this service.
string title = 2;
// The Google project that owns this service.
string producer_project_id = 22;
+ // A unique ID for a specific instance of this message, typically assigned
+ // by the client for tracking purpose. Must be no longer than 63 characters
+ // and only lower case letters, digits, '.', '_' and '-' are allowed. If
+ // empty, the server may choose to generate one instead.
+ string id = 33;
+
// A list of API interfaces exported by this service. Only the `name` field
// of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration
// author, as the remaining fields will be derived from the IDL during the
@@ -170,6 +164,9 @@ message Service {
// Output only. The source information for this configuration if available.
SourceInfo source_info = 37;
- // Experimental configuration.
- reserved 101;
+ // Obsolete. Do not use.
+ //
+ // This field has no semantic meaning. The service config compiler always
+ // sets this field to `3`.
+ google.protobuf.UInt32Value config_version = 20 [deprecated = true];
}
diff --git a/contrib/libs/googleapis-common-protos/google/api/source_info.proto b/contrib/libs/googleapis-common-protos/google/api/source_info.proto
index 58777856fb..cbdd625cdb 100644
--- a/contrib/libs/googleapis-common-protos/google/api/source_info.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/source_info.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@ option java_outer_classname = "SourceInfoProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Source information used to create a Service Config
message SourceInfo {
// All files used during config generation.
diff --git a/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto b/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto
index a55212f044..7d0b1d572e 100644
--- a/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/system_parameter.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ option java_outer_classname = "SystemParameterProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// ### System parameter configuration
//
// A system parameter is a special kind of parameter defined by the API
diff --git a/contrib/libs/googleapis-common-protos/google/api/usage.proto b/contrib/libs/googleapis-common-protos/google/api/usage.proto
index 63299b56d2..ad2764c90f 100644
--- a/contrib/libs/googleapis-common-protos/google/api/usage.proto
+++ b/contrib/libs/googleapis-common-protos/google/api/usage.proto
@@ -1,4 +1,4 @@
-// Copyright 2018 Google LLC.
+// Copyright 2015 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,20 +16,23 @@ syntax = "proto3";
package google.api;
-import "google/api/annotations.proto";
-
option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
option java_multiple_files = true;
option java_outer_classname = "UsageProto";
option java_package = "com.google.api";
option objc_class_prefix = "GAPI";
-
// Configuration controlling usage of a service.
message Usage {
// Requirements that must be satisfied before a consumer project can use the
// service. Each requirement is of the form <service.name>/<requirement-id>;
// for example 'serviceusage.googleapis.com/billing-enabled'.
+ //
+ // For Google APIs, a Terms of Service requirement must be included here.
+ // Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud".
+ // Other Google APIs should include
+ // "serviceusage.googleapis.com/tos/universal". Additional ToS can be
+ // included based on the business needs.
repeated string requirements = 1;
// A list of usage rules that apply to individual API methods.
diff --git a/contrib/libs/googleapis-common-protos/google/api/visibility.proto b/contrib/libs/googleapis-common-protos/google/api/visibility.proto
new file mode 100644
index 0000000000..bde48dd20c
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/api/visibility.proto
@@ -0,0 +1,111 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.api;
+
+import "google/protobuf/descriptor.proto";
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/api/visibility;visibility";
+option java_multiple_files = true;
+option java_outer_classname = "VisibilityProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+extend google.protobuf.EnumOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule enum_visibility = 72295727;
+}
+
+extend google.protobuf.EnumValueOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule value_visibility = 72295727;
+}
+
+extend google.protobuf.FieldOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule field_visibility = 72295727;
+}
+
+extend google.protobuf.MessageOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule message_visibility = 72295727;
+}
+
+extend google.protobuf.MethodOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule method_visibility = 72295727;
+}
+
+extend google.protobuf.ServiceOptions {
+ // See `VisibilityRule`.
+ google.api.VisibilityRule api_visibility = 72295727;
+}
+
+// `Visibility` defines restrictions for the visibility of service
+// elements. Restrictions are specified using visibility labels
+// (e.g., PREVIEW) that are elsewhere linked to users and projects.
+//
+// Users and projects can have access to more than one visibility label. The
+// effective visibility for multiple labels is the union of each label's
+// elements, plus any unrestricted elements.
+//
+// If an element and its parents have no restrictions, visibility is
+// unconditionally granted.
+//
+// Example:
+//
+// visibility:
+// rules:
+// - selector: google.calendar.Calendar.EnhancedSearch
+// restriction: PREVIEW
+// - selector: google.calendar.Calendar.Delegate
+// restriction: INTERNAL
+//
+// Here, all methods are publicly visible except for the restricted methods
+// EnhancedSearch and Delegate.
+message Visibility {
+ // A list of visibility rules that apply to individual API elements.
+ //
+ // **NOTE:** All service configuration rules follow "last one wins" order.
+ repeated VisibilityRule rules = 1;
+}
+
+// A visibility rule provides visibility configuration for an individual API
+// element.
+message VisibilityRule {
+ // Selects methods, messages, fields, enums, etc. to which this rule applies.
+ //
+ // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
+ string selector = 1;
+
+ // A comma-separated list of visibility labels that apply to the `selector`.
+ // Any of the listed labels can be used to grant the visibility.
+ //
+ // If a rule has multiple labels, removing one of the labels but not all of
+ // them can break clients.
+ //
+ // Example:
+ //
+ // visibility:
+ // rules:
+ // - selector: google.calendar.Calendar.EnhancedSearch
+ // restriction: INTERNAL, PREVIEW
+ //
+ // Removing INTERNAL from this restriction will break clients that rely on
+ // this method and only had access to it through INTERNAL.
+ string restriction = 2;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto b/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto
index b210cc3230..a91766c9d4 100644
--- a/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto
+++ b/contrib/libs/googleapis-common-protos/google/cloud/location/locations.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto b/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto
index 8b9301f117..b878d60dce 100644
--- a/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto
+++ b/contrib/libs/googleapis-common-protos/google/logging/type/http_request.proto
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@ syntax = "proto3";
package google.logging.type;
-import "google/api/annotations.proto";
import "google/protobuf/duration.proto";
option csharp_namespace = "Google.Cloud.Logging.Type";
@@ -25,7 +24,7 @@ option java_multiple_files = true;
option java_outer_classname = "HttpRequestProto";
option java_package = "com.google.logging.type";
option php_namespace = "Google\\Cloud\\Logging\\Type";
-
+option ruby_package = "Google::Cloud::Logging::Type";
// A common proto for logging HTTP requests. Only contains semantics
// defined by the HTTP specification. Product-specific logging
@@ -52,19 +51,23 @@ message HttpRequest {
int64 response_size = 5;
// The user agent sent by the client. Example:
- // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`.
+ // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+ // CLR 1.0.3705)"`.
string user_agent = 6;
// The IP address (IPv4 or IPv6) of the client that issued the HTTP
- // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
+ // request. This field can include port information. Examples:
+ // `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
string remote_ip = 7;
// The IP address (IPv4 or IPv6) of the origin server that the request was
- // sent to.
+ // sent to. This field can include port information. Examples:
+ // `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
string server_ip = 13;
// The referer URL of the request, as defined in
- // [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
+ // [HTTP/1.1 Header Field
+ // Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
string referer = 8;
// The request processing latency on the server, from the time the request was
diff --git a/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto b/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto
index 41351c6765..bed71935f9 100644
--- a/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto
+++ b/contrib/libs/googleapis-common-protos/google/logging/type/log_severity.proto
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,15 +16,14 @@ syntax = "proto3";
package google.logging.type;
-import "google/api/annotations.proto";
-
option csharp_namespace = "Google.Cloud.Logging.Type";
option go_package = "google.golang.org/genproto/googleapis/logging/type;ltype";
option java_multiple_files = true;
option java_outer_classname = "LogSeverityProto";
option java_package = "com.google.logging.type";
+option objc_class_prefix = "GLOG";
option php_namespace = "Google\\Cloud\\Logging\\Type";
-
+option ruby_package = "Google::Cloud::Logging::Type";
// The severity of the event described in a log entry, expressed as one of the
// standard severity levels listed below. For your reference, the levels are
diff --git a/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto b/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto
index 299eefb2e5..c1fdc6f529 100644
--- a/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto
+++ b/contrib/libs/googleapis-common-protos/google/longrunning/operations.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -110,9 +110,9 @@ service Operations {
option (google.api.method_signature) = "name";
}
- // Waits for the specified long-running operation until it is done or reaches
- // at most a specified timeout, returning the latest state. If the operation
- // is already done, the latest state is immediately returned. If the timeout
+ // Waits until the specified long-running operation is done or reaches at most
+ // a specified timeout, returning the latest state. If the operation is
+ // already done, the latest state is immediately returned. If the timeout
// specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
// timeout is used. If the server does not support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
diff --git a/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto b/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto
index e60a5ae94e..30fe6f25ab 100644
--- a/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto
+++ b/contrib/libs/googleapis-common-protos/google/rpc/context/attribute_context.proto
@@ -16,6 +16,8 @@ syntax = "proto3";
package google.rpc.context;
+import "google/protobuf/any.proto";
+import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
@@ -107,10 +109,10 @@ message AttributeContext {
// value(s) depends on the `issuer`, but typically include one or more of
// the following pieces of information:
//
- // * The services intended to receive the credential such as
- // ["pubsub.googleapis.com", "storage.googleapis.com"]
+ // * The services intended to receive the credential. For example,
+ // ["https://pubsub.googleapis.com/", "https://storage.googleapis.com/"].
// * A set of service-based scopes. For example,
- // ["https://www.googleapis.com/auth/cloud-platform"]
+ // ["https://www.googleapis.com/auth/cloud-platform"].
// * The client id of an app, such as the Firebase project id for JWTs
// from Firebase Auth.
//
@@ -181,7 +183,7 @@ message AttributeContext {
// appears in the first line of the HTTP request. No decoding is performed.
string query = 7;
- // The timestamp when the `destination` service receives the first byte of
+ // The timestamp when the `destination` service receives the last byte of
// the request.
google.protobuf.Timestamp time = 9;
@@ -217,9 +219,15 @@ message AttributeContext {
// lowercased, because HTTP header keys are case-insensitive.
map<string, string> headers = 3;
- // The timestamp when the `destination` service generates the first byte of
+ // The timestamp when the `destination` service sends the last byte of
// the response.
google.protobuf.Timestamp time = 4;
+
+ // The length of time it takes the backend service to fully respond to a
+ // request. Measured from when the destination service starts to send the
+ // request to the backend until when the destination service receives the
+ // complete response from the backend.
+ google.protobuf.Duration backend_latency = 5;
}
// This message defines core attributes for a resource. A resource is an
@@ -254,6 +262,51 @@ message AttributeContext {
// The labels or tags on the resource, such as AWS resource tags and
// Kubernetes resource labels.
map<string, string> labels = 4;
+
+ // The unique identifier of the resource. UID is unique in the time
+ // and space for this resource within the scope of the service. It is
+ // typically generated by the server on successful creation of a resource
+ // and must not be changed. UID is used to uniquely identify resources
+ // with resource name reuses. This should be a UUID4.
+ string uid = 5;
+
+ // Annotations is an unstructured key-value map stored with a resource that
+ // may be set by external tools to store and retrieve arbitrary metadata.
+ // They are not queryable and should be preserved when modifying objects.
+ //
+ // More info: https://kubernetes.io/docs/user-guide/annotations
+ map<string, string> annotations = 6;
+
+ // Mutable. The display name set by clients. Must be <= 63 characters.
+ string display_name = 7;
+
+ // Output only. The timestamp when the resource was created. This may
+ // be either the time creation was initiated or when it was completed.
+ google.protobuf.Timestamp create_time = 8;
+
+ // Output only. The timestamp when the resource was last updated. Any
+ // change to the resource made by users must refresh this value.
+ // Changes to a resource made by the service should refresh this value.
+ google.protobuf.Timestamp update_time = 9;
+
+ // Output only. The timestamp when the resource was deleted.
+ // If the resource is not deleted, this must be empty.
+ google.protobuf.Timestamp delete_time = 10;
+
+ // Output only. An opaque value that uniquely identifies a version or
+ // generation of a resource. It can be used to confirm that the client
+ // and server agree on the ordering of a resource being written.
+ string etag = 11;
+
+ // Immutable. The location of the resource. The location encoding is
+ // specific to the service provider, and new encoding may be introduced
+ // as the service evolves.
+ //
+ // For Google Cloud products, the encoding is what is used by Google Cloud
+ // APIs, such as `us-east1`, `aws-us-east-1`, and `azure-eastus2`. The
+ // semantics of `location` is identical to the
+ // `cloud.googleapis.com/location` label used by some Google Cloud APIs.
+ string location = 12;
}
// The origin of a network activity. In a multi hop network activity,
@@ -284,4 +337,7 @@ message AttributeContext {
// Represents an API operation that is involved to a network activity.
Api api = 6;
+
+ // Supports extensions for advanced use cases, such as logs and metrics.
+ repeated google.protobuf.Any extensions = 8;
}
diff --git a/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto b/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto
index 4862ebfe88..c4d6c4b78c 100644
--- a/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto
+++ b/contrib/libs/googleapis-common-protos/google/rpc/error_details.proto
@@ -89,24 +89,26 @@ message QuotaFailure {
//
// Example of an error when contacting the "pubsub.googleapis.com" API when it
// is not enabled:
-// { "reason": "API_DISABLED"
+//
+// { "reason": "API_DISABLED"
// "domain": "googleapis.com"
// "metadata": {
// "resource": "projects/123",
// "service": "pubsub.googleapis.com"
// }
// }
+//
// This response indicates that the pubsub.googleapis.com API is not enabled.
//
// Example of an error that is returned when attempting to create a Spanner
// instance in a region that is out of stock:
-// { "reason": "STOCKOUT"
+//
+// { "reason": "STOCKOUT"
// "domain": "spanner.googleapis.com",
// "metadata": {
// "availableRegions": "us-central1,us-east2"
// }
// }
-//
message ErrorInfo {
// The reason of the error. This is a constant value that identifies the
// proximate cause of the error. Error reasons are unique within a particular
@@ -114,11 +116,12 @@ message ErrorInfo {
// /[A-Z0-9_]+/.
string reason = 1;
- // The logical grouping to which the "reason" belongs. Often "domain" will
- // contain the registered service name of the tool or product that is the
- // source of the error. Example: "pubsub.googleapis.com". If the error is
- // common across many APIs, the first segment of the example above will be
- // omitted. The value will be, "googleapis.com".
+ // The logical grouping to which the "reason" belongs. The error domain
+ // is typically the registered service name of the tool or product that
+ // generates the error. Example: "pubsub.googleapis.com". If the error is
+ // generated by some common infrastructure, the error domain must be a
+ // globally unique value that identifies the infrastructure. For Google API
+ // infrastructure, the error domain is "googleapis.com".
string domain = 2;
// Additional structured details about this error.
diff --git a/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto b/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto
index a91d0c35c8..82f5690b75 100644
--- a/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/calendar_period.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
diff --git a/contrib/libs/googleapis-common-protos/google/type/color.proto b/contrib/libs/googleapis-common-protos/google/type/color.proto
index 417f1c4b19..5dc85a6a38 100644
--- a/contrib/libs/googleapis-common-protos/google/type/color.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/color.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -28,17 +27,22 @@ option objc_class_prefix = "GTP";
// Represents a color in the RGBA color space. This representation is designed
// for simplicity of conversion to/from color representations in various
-// languages over compactness; for example, the fields of this representation
-// can be trivially provided to the constructor of "java.awt.Color" in Java; it
-// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+// languages over compactness. For example, the fields of this representation
+// can be trivially provided to the constructor of `java.awt.Color` in Java; it
+// can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
// method in iOS; and, with just a little work, it can be easily formatted into
-// a CSS "rgba()" string in JavaScript, as well.
+// a CSS `rgba()` string in JavaScript.
//
-// Note: this proto does not carry information about the absolute color space
+// This reference page doesn't carry information about the absolute color
+// space
// that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
-// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
+// DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color
// space.
//
+// When color equality needs to be decided, implementations, unless
+// documented otherwise, treat two colors as equal if all their red,
+// green, blue, and alpha values each differ by at most 1e-5.
+//
// Example (Java):
//
// import com.google.type.Color;
@@ -124,7 +128,7 @@ option objc_class_prefix = "GTP";
// var blue = Math.floor(blueFrac * 255);
//
// if (!('alpha' in rgb_color)) {
-// return rgbToCssColor_(red, green, blue);
+// return rgbToCssColor(red, green, blue);
// }
//
// var alphaFrac = rgb_color.alpha.value || 0.0;
@@ -132,7 +136,7 @@ option objc_class_prefix = "GTP";
// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
// };
//
-// var rgbToCssColor_ = function(red, green, blue) {
+// var rgbToCssColor = function(red, green, blue) {
// var rgbNumber = new Number((red << 16) | (green << 8) | blue);
// var hexString = rgbNumber.toString(16);
// var missingZeros = 6 - hexString.length;
@@ -158,13 +162,13 @@ message Color {
// The fraction of this color that should be applied to the pixel. That is,
// the final pixel color is defined by the equation:
//
- // pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+ // `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)`
//
// This means that a value of 1.0 corresponds to a solid color, whereas
// a value of 0.0 corresponds to a completely transparent color. This
// uses a wrapper message rather than a simple float scalar so that it is
// possible to distinguish between a default value and the value being unset.
- // If omitted, this color object is to be rendered as a solid color
- // (as if the alpha value had been explicitly given with a value of 1.0).
+ // If omitted, this color object is rendered as a solid color
+ // (as if the alpha value had been explicitly given a value of 1.0).
google.protobuf.FloatValue alpha = 4;
}
diff --git a/contrib/libs/googleapis-common-protos/google/type/date.proto b/contrib/libs/googleapis-common-protos/google/type/date.proto
index b958feeba5..e4e730e6f5 100644
--- a/contrib/libs/googleapis-common-protos/google/type/date.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/date.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -24,27 +23,30 @@ option java_outer_classname = "DateProto";
option java_package = "com.google.type";
option objc_class_prefix = "GTP";
-// Represents a whole or partial calendar date, e.g. a birthday. The time of day
-// and time zone are either specified elsewhere or are not significant. The date
-// is relative to the Proleptic Gregorian Calendar. This can represent:
+// Represents a whole or partial calendar date, such as a birthday. The time of
+// day and time zone are either specified elsewhere or are insignificant. The
+// date is relative to the Gregorian Calendar. This can represent one of the
+// following:
//
-// * A full date, with non-zero year, month and day values
-// * A month and day value, with a zero year, e.g. an anniversary
+// * A full date, with non-zero year, month, and day values
+// * A month and day value, with a zero year, such as an anniversary
// * A year on its own, with zero month and day values
-// * A year and month value, with a zero day, e.g. a credit card expiration date
+// * A year and month value, with a zero day, such as a credit card expiration
+// date
//
-// Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.
+// Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and
+// `google.protobuf.Timestamp`.
message Date {
- // Year of date. Must be from 1 to 9999, or 0 if specifying a date without
+ // Year of the date. Must be from 1 to 9999, or 0 to specify a date without
// a year.
int32 year = 1;
- // Month of year. Must be from 1 to 12, or 0 if specifying a year without a
+ // Month of a year. Must be from 1 to 12, or 0 to specify a year without a
// month and day.
int32 month = 2;
- // Day of month. Must be from 1 to 31 and valid for the year and month, or 0
- // if specifying a year by itself or a year and month where the day is not
+ // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
+ // to specify a year by itself or a year and month where the day isn't
// significant.
int32 day = 3;
}
diff --git a/contrib/libs/googleapis-common-protos/google/type/datetime.proto b/contrib/libs/googleapis-common-protos/google/type/datetime.proto
index 5aebc4b97f..cfed85d70a 100644
--- a/contrib/libs/googleapis-common-protos/google/type/datetime.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/datetime.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -26,7 +25,9 @@ option java_outer_classname = "DateTimeProto";
option java_package = "com.google.type";
option objc_class_prefix = "GTP";
-// Represents civil time in one of a few possible ways:
+// Represents civil time (or occasionally physical time).
+//
+// This type can represent a civil time in one of a few possible ways:
//
// * When utc_offset is set and time_zone is unset: a civil time on a calendar
// day with a particular offset from UTC.
@@ -40,6 +41,12 @@ option objc_class_prefix = "GTP";
// If year is 0, the DateTime is considered not to have a specific year. month
// and day must have valid, non-zero values.
//
+// This type may also be used to represent a physical time if all the date and
+// time fields are set and either case of the `time_offset` oneof is set.
+// Consider using `Timestamp` message for physical time instead. If your use
+// case also would like to store the user's timezone, that can be done in
+// another field.
+//
// This type is more flexible than some applications may want. Make sure to
// document and validate your application's limitations.
message DateTime {
diff --git a/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto b/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto
index 7544e15161..4c80c62ec0 100644
--- a/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/dayofweek.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -23,29 +22,29 @@ option java_outer_classname = "DayOfWeekProto";
option java_package = "com.google.type";
option objc_class_prefix = "GTP";
-// Represents a day of week.
+// Represents a day of the week.
enum DayOfWeek {
- // The unspecified day-of-week.
+ // The day of the week is unspecified.
DAY_OF_WEEK_UNSPECIFIED = 0;
- // The day-of-week of Monday.
+ // Monday
MONDAY = 1;
- // The day-of-week of Tuesday.
+ // Tuesday
TUESDAY = 2;
- // The day-of-week of Wednesday.
+ // Wednesday
WEDNESDAY = 3;
- // The day-of-week of Thursday.
+ // Thursday
THURSDAY = 4;
- // The day-of-week of Friday.
+ // Friday
FRIDAY = 5;
- // The day-of-week of Saturday.
+ // Saturday
SATURDAY = 6;
- // The day-of-week of Sunday.
+ // Sunday
SUNDAY = 7;
}
diff --git a/contrib/libs/googleapis-common-protos/google/type/decimal.proto b/contrib/libs/googleapis-common-protos/google/type/decimal.proto
new file mode 100644
index 0000000000..beb18a5d8d
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/type/decimal.proto
@@ -0,0 +1,95 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.type;
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/type/decimal;decimal";
+option java_multiple_files = true;
+option java_outer_classname = "DecimalProto";
+option java_package = "com.google.type";
+option objc_class_prefix = "GTP";
+
+// A representation of a decimal value, such as 2.5. Clients may convert values
+// into language-native decimal formats, such as Java's [BigDecimal][] or
+// Python's [decimal.Decimal][].
+//
+// [BigDecimal]:
+// https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html
+// [decimal.Decimal]: https://docs.python.org/3/library/decimal.html
+message Decimal {
+ // The decimal value, as a string.
+ //
+ // The string representation consists of an optional sign, `+` (`U+002B`)
+ // or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
+ // ("the integer"), optionally followed by a fraction, optionally followed
+ // by an exponent.
+ //
+ // The fraction consists of a decimal point followed by zero or more decimal
+ // digits. The string must contain at least one digit in either the integer
+ // or the fraction. The number formed by the sign, the integer and the
+ // fraction is referred to as the significand.
+ //
+ // The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
+ // followed by one or more decimal digits.
+ //
+ // Services **should** normalize decimal values before storing them by:
+ //
+ // - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
+ // - Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
+ // - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
+ // - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
+ //
+ // Services **may** perform additional normalization based on its own needs
+ // and the internal decimal implementation selected, such as shifting the
+ // decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
+ // Additionally, services **may** preserve trailing zeroes in the fraction
+ // to indicate increased precision, but are not required to do so.
+ //
+ // Note that only the `.` character is supported to divide the integer
+ // and the fraction; `,` **should not** be supported regardless of locale.
+ // Additionally, thousand separators **should not** be supported. If a
+ // service does support them, values **must** be normalized.
+ //
+ // The ENBF grammar is:
+ //
+ // DecimalString =
+ // [Sign] Significand [Exponent];
+ //
+ // Sign = '+' | '-';
+ //
+ // Significand =
+ // Digits ['.'] [Digits] | [Digits] '.' Digits;
+ //
+ // Exponent = ('e' | 'E') [Sign] Digits;
+ //
+ // Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
+ //
+ // Services **should** clearly document the range of supported values, the
+ // maximum supported precision (total number of digits), and, if applicable,
+ // the scale (number of digits after the decimal point), as well as how it
+ // behaves when receiving out-of-bounds values.
+ //
+ // Services **may** choose to accept values passed as input even when the
+ // value has a higher precision or scale than the service supports, and
+ // **should** round the value to fit the supported scale. Alternatively, the
+ // service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
+ // if precision would be lost.
+ //
+ // Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
+ // gRPC) if the service receives a value outside of the supported range.
+ string value = 1;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/type/expr.proto b/contrib/libs/googleapis-common-protos/google/type/expr.proto
index 5d4f2f71b2..af0778cf95 100644
--- a/contrib/libs/googleapis-common-protos/google/type/expr.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/expr.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -23,29 +22,52 @@ option java_outer_classname = "ExprProto";
option java_package = "com.google.type";
option objc_class_prefix = "GTP";
-// Represents an expression text. Example:
+// Represents a textual expression in the Common Expression Language (CEL)
+// syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+// are documented at https://github.com/google/cel-spec.
+//
+// Example (Comparison):
+//
+// title: "Summary size limit"
+// description: "Determines if a summary is less than 100 chars"
+// expression: "document.summary.size() < 100"
+//
+// Example (Equality):
+//
+// title: "Requestor is owner"
+// description: "Determines if requestor is the document owner"
+// expression: "document.owner == request.auth.claims.email"
+//
+// Example (Logic):
+//
+// title: "Public documents"
+// description: "Determine whether the document should be publicly visible"
+// expression: "document.type != 'private' && document.type != 'internal'"
+//
+// Example (Data Manipulation):
+//
+// title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' + string(document.create_time)"
//
-// title: "User account presence"
-// description: "Determines whether the request has a user account"
-// expression: "size(request.user) > 0"
+// The exact variables and functions that may be referenced within an expression
+// are determined by the service that evaluates it. See the service
+// documentation for additional information.
message Expr {
- // Textual representation of an expression in
- // Common Expression Language syntax.
- //
- // The application context of the containing message determines which
- // well-known feature set of CEL is supported.
+ // Textual representation of an expression in Common Expression Language
+ // syntax.
string expression = 1;
- // An optional title for the expression, i.e. a short string describing
+ // Optional. Title for the expression, i.e. a short string describing
// its purpose. This can be used e.g. in UIs which allow to enter the
// expression.
string title = 2;
- // An optional description of the expression. This is a longer text which
+ // Optional. Description of the expression. This is a longer text which
// describes the expression, e.g. when hovered over it in a UI.
string description = 3;
- // An optional string indicating the location of the expression for error
+ // Optional. String indicating the location of the expression for error
// reporting, e.g. a file name and a position in the file.
string location = 4;
}
diff --git a/contrib/libs/googleapis-common-protos/google/type/fraction.proto b/contrib/libs/googleapis-common-protos/google/type/fraction.proto
index 8ad008dda2..6c5ae6e2a2 100644
--- a/contrib/libs/googleapis-common-protos/google/type/fraction.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/fraction.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -25,7 +24,7 @@ option objc_class_prefix = "GTP";
// Represents a fraction in terms of a numerator divided by a denominator.
message Fraction {
- // The portion of the denominator in the faction, e.g. 2 in 2/3.
+ // The numerator in the fraction, e.g. 2 in 2/3.
int64 numerator = 1;
// The value by which the numerator is divided, e.g. 3 in 2/3. Must be
diff --git a/contrib/libs/googleapis-common-protos/google/type/interval.proto b/contrib/libs/googleapis-common-protos/google/type/interval.proto
new file mode 100644
index 0000000000..9702324cd4
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/type/interval.proto
@@ -0,0 +1,46 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.type;
+
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/type/interval;interval";
+option java_multiple_files = true;
+option java_outer_classname = "IntervalProto";
+option java_package = "com.google.type";
+option objc_class_prefix = "GTP";
+
+// Represents a time interval, encoded as a Timestamp start (inclusive) and a
+// Timestamp end (exclusive).
+//
+// The start must be less than or equal to the end.
+// When the start equals the end, the interval is empty (matches no time).
+// When both start and end are unspecified, the interval matches any time.
+message Interval {
+ // Optional. Inclusive start of the interval.
+ //
+ // If specified, a Timestamp matching this interval will have to be the same
+ // or after the start.
+ google.protobuf.Timestamp start_time = 1;
+
+ // Optional. Exclusive end of the interval.
+ //
+ // If specified, a Timestamp matching this interval will have to be before the
+ // end.
+ google.protobuf.Timestamp end_time = 2;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/type/latlng.proto b/contrib/libs/googleapis-common-protos/google/type/latlng.proto
index a90b7c23d0..9231456e32 100644
--- a/contrib/libs/googleapis-common-protos/google/type/latlng.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/latlng.proto
@@ -1,4 +1,4 @@
-// Copyright 2020 Google LLC
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/contrib/libs/googleapis-common-protos/google/type/localized_text.proto b/contrib/libs/googleapis-common-protos/google/type/localized_text.proto
new file mode 100644
index 0000000000..5c6922b8c0
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/type/localized_text.proto
@@ -0,0 +1,36 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.type;
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/type/localized_text;localized_text";
+option java_multiple_files = true;
+option java_outer_classname = "LocalizedTextProto";
+option java_package = "com.google.type";
+option objc_class_prefix = "GTP";
+
+// Localized variant of a text in a particular language.
+message LocalizedText {
+ // Localized string in the language corresponding to `language_code' below.
+ string text = 1;
+
+ // The text's BCP-47 language code, such as "en-US" or "sr-Latn".
+ //
+ // For more information, see
+ // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ string language_code = 2;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/type/money.proto b/contrib/libs/googleapis-common-protos/google/type/money.proto
index ef41f1089a..98d6494e42 100644
--- a/contrib/libs/googleapis-common-protos/google/type/money.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/money.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -26,7 +25,7 @@ option objc_class_prefix = "GTP";
// Represents an amount of money with its currency type.
message Money {
- // The 3-letter currency code defined in ISO 4217.
+ // The three-letter currency code defined in ISO 4217.
string currency_code = 1;
// The whole units of the amount.
diff --git a/contrib/libs/googleapis-common-protos/google/type/month.proto b/contrib/libs/googleapis-common-protos/google/type/month.proto
index 54b7865f4b..99e7551b14 100644
--- a/contrib/libs/googleapis-common-protos/google/type/month.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/month.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -25,7 +24,7 @@ option objc_class_prefix = "GTP";
// Represents a month in the Gregorian calendar.
enum Month {
- // The unspecifed month.
+ // The unspecified month.
MONTH_UNSPECIFIED = 0;
// The month of January.
diff --git a/contrib/libs/googleapis-common-protos/google/type/phone_number.proto b/contrib/libs/googleapis-common-protos/google/type/phone_number.proto
new file mode 100644
index 0000000000..7bbb7d8732
--- /dev/null
+++ b/contrib/libs/googleapis-common-protos/google/type/phone_number.proto
@@ -0,0 +1,113 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.type;
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/type/phone_number;phone_number";
+option java_multiple_files = true;
+option java_outer_classname = "PhoneNumberProto";
+option java_package = "com.google.type";
+option objc_class_prefix = "GTP";
+
+// An object representing a phone number, suitable as an API wire format.
+//
+// This representation:
+//
+// - should not be used for locale-specific formatting of a phone number, such
+// as "+1 (650) 253-0000 ext. 123"
+//
+// - is not designed for efficient storage
+// - may not be suitable for dialing - specialized libraries (see references)
+// should be used to parse the number for that purpose
+//
+// To do something meaningful with this number, such as format it for various
+// use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first.
+//
+// For instance, in Java this would be:
+//
+// com.google.type.PhoneNumber wireProto =
+// com.google.type.PhoneNumber.newBuilder().build();
+// com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber =
+// PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ");
+// if (!wireProto.getExtension().isEmpty()) {
+// phoneNumber.setExtension(wireProto.getExtension());
+// }
+//
+// Reference(s):
+// - https://github.com/google/libphonenumber
+message PhoneNumber {
+ // An object representing a short code, which is a phone number that is
+ // typically much shorter than regular phone numbers and can be used to
+ // address messages in MMS and SMS systems, as well as for abbreviated dialing
+ // (e.g. "Text 611 to see how many minutes you have remaining on your plan.").
+ //
+ // Short codes are restricted to a region and are not internationally
+ // dialable, which means the same short code can exist in different regions,
+ // with different usage and pricing, even if those regions share the same
+ // country calling code (e.g. US and CA).
+ message ShortCode {
+ // Required. The BCP-47 region code of the location where calls to this
+ // short code can be made, such as "US" and "BB".
+ //
+ // Reference(s):
+ // - http://www.unicode.org/reports/tr35/#unicode_region_subtag
+ string region_code = 1;
+
+ // Required. The short code digits, without a leading plus ('+') or country
+ // calling code, e.g. "611".
+ string number = 2;
+ }
+
+ // Required. Either a regular number, or a short code. New fields may be
+ // added to the oneof below in the future, so clients should ignore phone
+ // numbers for which none of the fields they coded against are set.
+ oneof kind {
+ // The phone number, represented as a leading plus sign ('+'), followed by a
+ // phone number that uses a relaxed ITU E.164 format consisting of the
+ // country calling code (1 to 3 digits) and the subscriber number, with no
+ // additional spaces or formatting, e.g.:
+ // - correct: "+15552220123"
+ // - incorrect: "+1 (555) 222-01234 x123".
+ //
+ // The ITU E.164 format limits the latter to 12 digits, but in practice not
+ // all countries respect that, so we relax that restriction here.
+ // National-only numbers are not allowed.
+ //
+ // References:
+ // - https://www.itu.int/rec/T-REC-E.164-201011-I
+ // - https://en.wikipedia.org/wiki/E.164.
+ // - https://en.wikipedia.org/wiki/List_of_country_calling_codes
+ string e164_number = 1;
+
+ // A short code.
+ //
+ // Reference(s):
+ // - https://en.wikipedia.org/wiki/Short_code
+ ShortCode short_code = 2;
+ }
+
+ // The phone number's extension. The extension is not standardized in ITU
+ // recommendations, except for being defined as a series of numbers with a
+ // maximum length of 40 digits. Other than digits, some other dialing
+ // characters such as ',' (indicating a wait) or '#' may be stored here.
+ //
+ // Note that no regions currently use extensions with short codes, so this
+ // field is normally only set in conjunction with an E.164 number. It is held
+ // separately from the E.164 number to allow for short code extensions in the
+ // future.
+ string extension = 3;
+}
diff --git a/contrib/libs/googleapis-common-protos/google/type/postal_address.proto b/contrib/libs/googleapis-common-protos/google/type/postal_address.proto
index 688af8a1bc..c57c7c31a2 100644
--- a/contrib/libs/googleapis-common-protos/google/type/postal_address.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/postal_address.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
diff --git a/contrib/libs/googleapis-common-protos/google/type/quaternion.proto b/contrib/libs/googleapis-common-protos/google/type/quaternion.proto
index 7ab5dc7283..dfb822deff 100644
--- a/contrib/libs/googleapis-common-protos/google/type/quaternion.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/quaternion.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
diff --git a/contrib/libs/googleapis-common-protos/google/type/timeofday.proto b/contrib/libs/googleapis-common-protos/google/type/timeofday.proto
index b609a48798..5cb48aa936 100644
--- a/contrib/libs/googleapis-common-protos/google/type/timeofday.proto
+++ b/contrib/libs/googleapis-common-protos/google/type/timeofday.proto
@@ -1,4 +1,4 @@
-// Copyright 2019 Google LLC.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,7 +11,6 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
syntax = "proto3";
@@ -26,7 +25,8 @@ option objc_class_prefix = "GTP";
// Represents a time of day. The date and time zone are either not significant
// or are specified elsewhere. An API may choose to allow leap seconds. Related
-// types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
+// types are [google.type.Date][google.type.Date] and
+// `google.protobuf.Timestamp`.
message TimeOfDay {
// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
// to allow the value "24:00:00" for scenarios like business closing time.