| Index: third_party/google-endpoints/google/api/gen/servicecontrol_v1_messages.py
|
| diff --git a/third_party/google-endpoints/google/api/gen/servicecontrol_v1_messages.py b/third_party/google-endpoints/google/api/gen/servicecontrol_v1_messages.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ac07c868018caae638a8088282bf672c3ec4a6b7
|
| --- /dev/null
|
| +++ b/third_party/google-endpoints/google/api/gen/servicecontrol_v1_messages.py
|
| @@ -0,0 +1,2986 @@
|
| +# Copyright 2016 Google Inc. All Rights Reserved.
|
| +#
|
| +# 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.
|
| +
|
| +"""Generated message classes for servicecontrol version v1.
|
| +
|
| +The Service Control API
|
| +"""
|
| +# NOTE: This file is originally auto-generated using google-apitools then
|
| +# style-correcting hand edits were applied. New behaviour should not provided
|
| +# by hand, please re-generate and restyle.
|
| +from __future__ import absolute_import
|
| +
|
| +from apitools.base.protorpclite import messages as _messages
|
| +from apitools.base.py import encoding
|
| +
|
| +# This is currently not generated, but needs to be present otherwise the methods
|
| +# in apitools.base.py.encoding module that support json struct protobuf types
|
| +# does not work
|
| +from apitools.base.py import extra_types # pylint: disable=unused-import
|
| +
|
| +package = 'servicecontrol'
|
| +
|
| +
|
| +class Api(_messages.Message):
|
| + """Api is a light-weight descriptor for a protocol buffer service.
|
| +
|
| + Enums:
|
| + SyntaxValueValuesEnum: The source syntax of the service.
|
| +
|
| + Fields:
|
| + methods: The methods of this api, in unspecified order.
|
| + mixins: Included APIs. See Mixin.
|
| + name: The fully qualified name of this api, including package name
|
| + followed by the api's simple name.
|
| + options: Any metadata attached to the API.
|
| + sourceContext: Source context for the protocol buffer service represented
|
| + by this message.
|
| + syntax: The source syntax of the service.
|
| + version: A version string for this api. If specified, must have the form
|
| + `major-version.minor-version`, as in `1.10`. If the minor version is
|
| + omitted, it defaults to zero. If the entire version field is empty, the
|
| + major version is derived from the package name, as outlined below. If
|
| + the field is not empty, the version in the package name will be verified
|
| + to be consistent with what is provided here. The versioning schema uses
|
| + [semantic versioning](http://semver.org) where the major version number
|
| + indicates a breaking change and the minor version an additive, non-
|
| + breaking change. Both version numbers are signals to users what to
|
| + expect from different versions, and should be carefully chosen based on
|
| + the product plan. The major version is also reflected in the package
|
| + name of the API, which must end in `v<major-version>`, as in
|
| + `google.feature.v1`. For major versions 0 and 1, the suffix can be
|
| + omitted. Zero major versions must only be used for experimental, none-GA
|
| + apis.
|
| + """
|
| +
|
| + class SyntaxValueValuesEnum(_messages.Enum):
|
| + """The source syntax of the service.
|
| +
|
| + Values:
|
| + SYNTAX_PROTO2: Syntax `proto2`.
|
| + SYNTAX_PROTO3: Syntax `proto3`.
|
| + """
|
| + SYNTAX_PROTO2 = 0
|
| + SYNTAX_PROTO3 = 1
|
| +
|
| + methods = _messages.MessageField('Method', 1, repeated=True)
|
| + mixins = _messages.MessageField('Mixin', 2, repeated=True)
|
| + name = _messages.StringField(3)
|
| + options = _messages.MessageField('Option', 4, repeated=True)
|
| + sourceContext = _messages.MessageField('SourceContext', 5)
|
| + syntax = _messages.EnumField('SyntaxValueValuesEnum', 6)
|
| + version = _messages.StringField(7)
|
| +
|
| +
|
| +class AreaUnderCurveParams(_messages.Message):
|
| + """AreaUnderCurveParams groups the metrics relevant to generating duration
|
| + based metric from base (snapshot) metric and delta (change) metric. The
|
| + generated metric has two dimensions: resource usage metric and the
|
| + duration the metric applies. Essentially the generated metric is the Area
|
| + Under Curve(AUC) of the "duration - resource" usage curve. This AUC metric
|
| + is readily appliable to billing since "billable resource usage" depends on
|
| + resource usage and duration of the resource used. A service config may
|
| + contain multiple resources and corresponding metrics. AreaUnderCurveParams
|
| + groups the relevant ones: which snapshot_metric and change_metric are used
|
| + to produce which generated_metric.
|
| +
|
| + Fields:
|
| + changeMetric: Change of resource usage at a particular timestamp. This
|
| + should a DELTA metric.
|
| + generatedMetric: Metric generated from snapshot_metric and change_metric.
|
| + This is also a DELTA metric.
|
| + snapshotMetric: Total usage of a resource at a particular timestamp. This
|
| + should be a GAUGE metric.
|
| + """
|
| +
|
| + changeMetric = _messages.StringField(1)
|
| + generatedMetric = _messages.StringField(2)
|
| + snapshotMetric = _messages.StringField(3)
|
| +
|
| +
|
| +class AuthProvider(_messages.Message):
|
| + """Configuration for an anthentication provider, including support for [JSON
|
| + Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-
|
| + token-32).
|
| +
|
| + Fields:
|
| + id: The unique identifier of the auth provider. It will be referred to by
|
| + `AuthRequirement.provider_id`. Example: "bookstore_auth".
|
| + issuer: Identifies the principal that issued the JWT. See
|
| + https://tools.ietf.org/html/draft-ietf-oauth-json-web-
|
| + token-32#section-4.1.1 Usually a URL or an email address. Example:
|
| + https://securetoken.google.com Example:
|
| + 1234567-compute@developer.gserviceaccount.com
|
| + jwksUri: 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). Optional if the key set document:
|
| + - can be retrieved from [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).
|
| + Example: https://www.googleapis.com/oauth2/v1/certs
|
| + """
|
| +
|
| + id = _messages.StringField(1)
|
| + issuer = _messages.StringField(2)
|
| + jwksUri = _messages.StringField(3)
|
| +
|
| +
|
| +class AuthRequirement(_messages.Message):
|
| + """User-defined authentication requirements, including support for [JSON Web
|
| + Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-
|
| + token-32).
|
| +
|
| + Fields:
|
| + audiences: 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/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".
|
| + Example: audiences: bookstore_android.apps.googleusercontent.com,
|
| + bookstore_web.apps.googleusercontent.com
|
| + providerId: id from authentication provider. Example: provider_id:
|
| + bookstore_auth
|
| + """
|
| +
|
| + audiences = _messages.StringField(1)
|
| + providerId = _messages.StringField(2)
|
| +
|
| +
|
| +class Authentication(_messages.Message):
|
| + """`Authentication` defines the authentication configuration for an API.
|
| + Example for an API targeted for external use: name:
|
| + calendar.googleapis.com authentication: rules: - selector:
|
| + "*" oauth: canonical_scopes:
|
| + https://www.googleapis.com/auth/calendar - selector:
|
| + google.calendar.Delegate oauth: canonical_scopes:
|
| + https://www.googleapis.com/auth/calendar.read
|
| +
|
| + Fields:
|
| + providers: Defines a set of authentication providers that a service
|
| + supports.
|
| + rules: Individual rules for authentication.
|
| + """
|
| +
|
| + providers = _messages.MessageField('AuthProvider', 1, repeated=True)
|
| + rules = _messages.MessageField('AuthenticationRule', 2, repeated=True)
|
| +
|
| +
|
| +class AuthenticationRule(_messages.Message):
|
| + """Authentication rules for the service. By default, if a method has any
|
| + authentication requirements, every request must include a valid credential
|
| + matching one of the requirements. It's an error to include more than one
|
| + kind of credential in a single request. If a method doesn't have any auth
|
| + requirements, request credentials will be ignored.
|
| +
|
| + Fields:
|
| + allowWithoutCredential: Whether to allow requests without a credential.
|
| + If quota is enabled, an API key is required for such request to pass the
|
| + quota check.
|
| + oauth: The requirements for OAuth credentials.
|
| + requirements: Requirements for additional authentication providers.
|
| + selector: Selects the methods to which this rule applies. Refer to
|
| + selector for syntax details.
|
| + """
|
| +
|
| + allowWithoutCredential = _messages.BooleanField(1)
|
| + oauth = _messages.MessageField('OAuthRequirements', 2)
|
| + requirements = _messages.MessageField('AuthRequirement', 3, repeated=True)
|
| + selector = _messages.StringField(4)
|
| +
|
| +
|
| +class Backend(_messages.Message):
|
| + """`Backend` defines the backend configuration for a service.
|
| +
|
| + Fields:
|
| + rules: A list of backend rules providing configuration for individual API
|
| + elements.
|
| + """
|
| +
|
| + rules = _messages.MessageField('BackendRule', 1, repeated=True)
|
| +
|
| +
|
| +class BackendRule(_messages.Message):
|
| + """A backend rule provides configuration for an individual API element.
|
| +
|
| + Fields:
|
| + address: The address of the API backend.
|
| + deadline: The number of seconds to wait for a response from a request.
|
| + The default depends on the deployment context.
|
| + selector: Selects the methods to which this rule applies. Refer to
|
| + selector for syntax details.
|
| + """
|
| +
|
| + address = _messages.StringField(1)
|
| + deadline = _messages.FloatField(2)
|
| + selector = _messages.StringField(3)
|
| +
|
| +
|
| +class Billing(_messages.Message):
|
| + """Billing related configuration of the service. The following example
|
| + shows how to configure metrics for billing: metrics: - name:
|
| + library.googleapis.com/read_calls metric_kind: DELTA value_type:
|
| + INT64 - name: library.googleapis.com/write_calls metric_kind:
|
| + DELTA value_type: INT64 billing: metrics: -
|
| + library.googleapis.com/read_calls - library.googleapis.com/write_calls
|
| + The next example shows how to enable billing status check and customize the
|
| + check behavior. It makes sure billing status check is included in the
|
| + `Check` method of [Service Control API](https://cloud.google.com/service-
|
| + control/). In the example, "google.storage.Get" method can be served when
|
| + the billing status is either `current` or `delinquent`, while
|
| + "google.storage.Write" method can only be served when the billing status is
|
| + `current`: billing: rules: - selector: google.storage.Get
|
| + allowed_statuses: - current - delinquent - selector:
|
| + google.storage.Write allowed_statuses: current Mostly services
|
| + should only allow `current` status when serving requests. In addition,
|
| + services can choose to allow both `current` and `delinquent` statuses when
|
| + serving read-only requests to resources. If there's no matching selector for
|
| + operation, no billing status check will be performed.
|
| +
|
| + Fields:
|
| + areaUnderCurveParams: Per resource grouping for delta billing based
|
| + resource configs.
|
| + metrics: Names of the metrics to report to billing. Each name must be
|
| + defined in Service.metrics section.
|
| + rules: A list of billing status rules for configuring billing status
|
| + check.
|
| + """
|
| +
|
| + areaUnderCurveParams = _messages.MessageField('AreaUnderCurveParams', 1, repeated=True)
|
| + metrics = _messages.StringField(2, repeated=True)
|
| + rules = _messages.MessageField('BillingStatusRule', 3, repeated=True)
|
| +
|
| +
|
| +class BillingStatusRule(_messages.Message):
|
| + """Defines the billing status requirements for operations. When used with
|
| + [Service Control API](https://cloud.google.com/service-control/), the
|
| + following statuses are supported: - **current**: the associated billing
|
| + account is up to date and capable of paying for resource
|
| + usages. - **delinquent**: the associated billing account has a correctable
|
| + problem, such as late payment. Mostly services should
|
| + only allow `current` status when serving requests. In addition, services can
|
| + choose to allow both `current` and `delinquent` statuses when serving read-
|
| + only requests to resources. If the list of allowed_statuses is empty, it
|
| + means no billing requirement.
|
| +
|
| + Fields:
|
| + allowedStatuses: Allowed billing statuses. The billing status check passes
|
| + if the actual billing status matches any of the provided values here.
|
| + selector: Selects the operation names to which this rule applies. Refer to
|
| + selector for syntax details.
|
| + """
|
| +
|
| + allowedStatuses = _messages.StringField(1, repeated=True)
|
| + selector = _messages.StringField(2)
|
| +
|
| +
|
| +class CheckError(_messages.Message):
|
| + """Defines the errors to be returned in
|
| + google.api.servicecontrol.v1.CheckResponse.check_errors. NOTE: The list of
|
| + error code must be in sync with the list in http://cs/google3/tech/internal/
|
| + env/framework/wrappers/chemist/chemist_wrapper.cc&l=525
|
| +
|
| + Enums:
|
| + CodeValueValuesEnum: The error code.
|
| +
|
| + Fields:
|
| + code: The error code.
|
| + detail: The error detail.
|
| + """
|
| +
|
| + class CodeValueValuesEnum(_messages.Enum):
|
| + """The error code.
|
| +
|
| + Values:
|
| + ERROR_CODE_UNSPECIFIED: This is never used in `CheckResponse`.
|
| + NOT_FOUND: The consumer's project id is not found. Same as
|
| + google.rpc.Code.NOT_FOUND.
|
| + PERMISSION_DENIED: The consumer doesn't have access to the specified
|
| + resource. Same as google.rpc.Code.PERMISSION_DENIED.
|
| + RESOURCE_EXHAUSTED: Quota check failed. Same as
|
| + google.rpc.Code.RESOURCE_EXHAUSTED.
|
| + BUDGET_EXCEEDED: Budget check failed.
|
| + DENIAL_OF_SERVICE_DETECTED: The request has been flagged as a DoS
|
| + attack.
|
| + LOAD_SHEDDING: The request should be rejected in order to protect the
|
| + service from being overloaded.
|
| + ABUSER_DETECTED: The consumer has been flagged as an abuser.
|
| + SERVICE_NOT_ACTIVATED: The consumer hasn't activated the service.
|
| + VISIBILITY_DENIED: The consumer cannot access the service due to
|
| + visibility configuration.
|
| + BILLING_DISABLED: The consumer cannot access the service because billing
|
| + is disabled.
|
| + PROJECT_DELETED: Consumer's project has been marked as deleted (soft
|
| + deletion).
|
| + PROJECT_INVALID: Consumer's project number or id does not represent a
|
| + valid project.
|
| + IP_ADDRESS_BLOCKED: Consumer's project does not allow requests from this
|
| + IP address.
|
| + REFERER_BLOCKED: Consumer's project does not allow requests from this
|
| + referer address.
|
| + CLIENT_APP_BLOCKED: Consumer's project does not allow requests from this
|
| + client application.
|
| + API_KEY_INVALID: The consumer's API key is invalid.
|
| + API_KEY_EXPIRED: Consumer's API Key has expired.
|
| + API_KEY_NOT_FOUND: Consumer's API Key not found in config record.
|
| + SPATULA_HEADER_INVALID: Consumer's spatula header is invalid.
|
| + NAMESPACE_LOOKUP_UNAVAILABLE: The backend server for looking up project
|
| + id/number is unavailable.
|
| + SERVICE_STATUS_UNAVAILABLE: The backend server for checking service
|
| + status is unavailable.
|
| + BILLING_STATUS_UNAVAILABLE: The backend server for checking billing
|
| + status is unavailable.
|
| + QUOTA_CHECK_UNAVAILABLE: The quota check feature is temporarily
|
| + unavailable: Could be due to either internal config error or server
|
| + error
|
| + """
|
| + ERROR_CODE_UNSPECIFIED = 0
|
| + NOT_FOUND = 1
|
| + PERMISSION_DENIED = 2
|
| + RESOURCE_EXHAUSTED = 3
|
| + BUDGET_EXCEEDED = 4
|
| + DENIAL_OF_SERVICE_DETECTED = 5
|
| + LOAD_SHEDDING = 6
|
| + ABUSER_DETECTED = 7
|
| + SERVICE_NOT_ACTIVATED = 8
|
| + VISIBILITY_DENIED = 9
|
| + BILLING_DISABLED = 10
|
| + PROJECT_DELETED = 11
|
| + PROJECT_INVALID = 12
|
| + IP_ADDRESS_BLOCKED = 13
|
| + REFERER_BLOCKED = 14
|
| + CLIENT_APP_BLOCKED = 15
|
| + API_KEY_INVALID = 16
|
| + API_KEY_EXPIRED = 17
|
| + API_KEY_NOT_FOUND = 18
|
| + SPATULA_HEADER_INVALID = 19
|
| + NAMESPACE_LOOKUP_UNAVAILABLE = 20
|
| + SERVICE_STATUS_UNAVAILABLE = 21
|
| + BILLING_STATUS_UNAVAILABLE = 22
|
| + QUOTA_CHECK_UNAVAILABLE = 23
|
| +
|
| + code = _messages.EnumField('CodeValueValuesEnum', 1)
|
| + detail = _messages.StringField(2)
|
| +
|
| +
|
| +class CheckRequest(_messages.Message):
|
| + """The request message of the Check method.
|
| +
|
| + Fields:
|
| + operation: The operation to be checked.
|
| + """
|
| +
|
| + operation = _messages.MessageField('Operation', 1)
|
| +
|
| +
|
| +class CheckResponse(_messages.Message):
|
| + """The response message of the Check method.
|
| +
|
| + Fields:
|
| + checkErrors: Indicate the decision of the check. If no check errors are
|
| + present, the service should process the operation. Otherwise the service
|
| + should use the list of errors to determine the appropriate action.
|
| + operationId: The same operation_id value used in the CheckRequest. Used
|
| + for logging and diagnostics purpose.
|
| + """
|
| +
|
| + checkErrors = _messages.MessageField('CheckError', 1, repeated=True)
|
| + operationId = _messages.StringField(2)
|
| +
|
| +
|
| +class Context(_messages.Message):
|
| + """`Context` defines which contexts an API requests. Example: context:
|
| + rules: - selector: "*" requested: -
|
| + google.rpc.context.ProjectContext - google.rpc.context.OriginContext
|
| + The above specifies that all methods in the API request
|
| + `google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`.
|
| + Available context types are defined in package `google.rpc.context`.
|
| +
|
| + Fields:
|
| + rules: List of rules for context, applicable to methods.
|
| + """
|
| +
|
| + rules = _messages.MessageField('ContextRule', 1, repeated=True)
|
| +
|
| +
|
| +class ContextRule(_messages.Message):
|
| + """A context rule provides information about the context for an individual
|
| + API element.
|
| +
|
| + Fields:
|
| + provided: A list of full type names of provided contexts.
|
| + requested: A list of full type names of requested contexts.
|
| + selector: Selects the methods to which this rule applies. Refer to
|
| + selector for syntax details.
|
| + """
|
| +
|
| + provided = _messages.StringField(1, repeated=True)
|
| + requested = _messages.StringField(2, repeated=True)
|
| + selector = _messages.StringField(3)
|
| +
|
| +
|
| +class Control(_messages.Message):
|
| + """Selects and configures the service controller used by the service. The
|
| + service controller handles features like abuse, quota, billing, logging,
|
| + monitoring, etc.
|
| +
|
| + Fields:
|
| + environment: The service control environment to use. If empty, no control
|
| + plane feature (like quota and billing) will be enabled.
|
| + """
|
| +
|
| + environment = _messages.StringField(1)
|
| +
|
| +
|
| +class CustomError(_messages.Message):
|
| + """Customize service error responses. For example, list any service
|
| + specific protobuf types that can appear in error detail lists of error
|
| + responses. Example: custom_error: types: -
|
| + google.foo.v1.CustomError - google.foo.v1.AnotherError
|
| +
|
| + Fields:
|
| + rules: The list of custom error rules to select to which messages this
|
| + should apply.
|
| + types: The list of custom error detail types, e.g.
|
| + 'google.foo.v1.CustomError'.
|
| + """
|
| +
|
| + rules = _messages.MessageField('CustomErrorRule', 1, repeated=True)
|
| + types = _messages.StringField(2, repeated=True)
|
| +
|
| +
|
| +class CustomErrorRule(_messages.Message):
|
| + """A custom error rule.
|
| +
|
| + Fields:
|
| + isErrorType: Mark this message as possible payload in error response.
|
| + Otherwise, objects of this type will be filtered when they appear in
|
| + error payload.
|
| + selector: Selects messages to which this rule applies. Refer to selector
|
| + for syntax details.
|
| + """
|
| +
|
| + isErrorType = _messages.BooleanField(1)
|
| + selector = _messages.StringField(2)
|
| +
|
| +
|
| +class CustomHttpPattern(_messages.Message):
|
| + """A custom pattern is used for defining custom HTTP verb.
|
| +
|
| + Fields:
|
| + kind: The name of this custom HTTP verb.
|
| + path: The path matched by this custom verb.
|
| + """
|
| +
|
| + kind = _messages.StringField(1)
|
| + path = _messages.StringField(2)
|
| +
|
| +
|
| +class Distribution(_messages.Message):
|
| + """Distribution represents a frequency distribution of double-valued sample
|
| + points. It contains the size of the population of sample points plus
|
| + additional optional information: - the arithmetic mean of the samples -
|
| + the minimum and maximum of the samples - the sum-squared-deviation of the
|
| + samples, used to compute variance - a histogram of the values of the
|
| + sample points
|
| +
|
| + Fields:
|
| + bucketCounts: The number of samples in each histogram bucket.
|
| + `bucket_counts` are optional. If present, they must sum to the `count`
|
| + value. The buckets are defined below in `bucket_option`. There are N
|
| + buckets. `bucket_counts[0]` is the number of samples in the underflow
|
| + bucket. `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of
|
| + samples in each of the finite buckets. And `bucket_counts[N] is the
|
| + number of samples in the overflow bucket. See the comments of
|
| + `bucket_option` below for more details. Any suffix of trailing zeros
|
| + may be omitted.
|
| + count: The total number of samples in the distribution. Must be non-
|
| + negative.
|
| + explicitBuckets: Buckets with arbitrary user-provided width.
|
| + exponentialBuckets: Buckets with exponentially growing width.
|
| + linearBuckets: Buckets with constant width.
|
| + maximum: The maximum of the population of values. Ignored if `count` is
|
| + zero.
|
| + mean: The arithmetic mean of the samples in the distribution. If `count`
|
| + is zero then this field must be zero, otherwise validation of the
|
| + request fails.
|
| + minimum: The minimum of the population of values. Ignored if `count` is
|
| + zero.
|
| + sumOfSquaredDeviation: The sum of squared deviations from the mean:
|
| + Sum[i=1..count]((x_i - mean)^2) where each x_i is a sample values. If
|
| + `count` is zero then this field must be zero, otherwise validation of
|
| + the request fails.
|
| + """
|
| +
|
| + bucketCounts = _messages.IntegerField(1, repeated=True)
|
| + count = _messages.IntegerField(2)
|
| + explicitBuckets = _messages.MessageField('ExplicitBuckets', 3)
|
| + exponentialBuckets = _messages.MessageField('ExponentialBuckets', 4)
|
| + linearBuckets = _messages.MessageField('LinearBuckets', 5)
|
| + maximum = _messages.FloatField(6)
|
| + mean = _messages.FloatField(7)
|
| + minimum = _messages.FloatField(8)
|
| + sumOfSquaredDeviation = _messages.FloatField(9)
|
| +
|
| +
|
| +class Documentation(_messages.Message):
|
| + """`Documentation` provides the information for describing a service.
|
| + Example: <pre><code>documentation: summary: > The Google Calendar API
|
| + gives access to most calendar features. pages: - name: Overview
|
| + content: (== include google/foo/overview.md ==) - name: Tutorial
|
| + content: (== include google/foo/tutorial.md ==) subpages; -
|
| + name: Java content: (== include google/foo/tutorial_java.md
|
| + ==) rules: - selector: google.calendar.Calendar.Get description:
|
| + > ... - selector: google.calendar.Calendar.Put description: >
|
| + ... </code></pre> Documentation is provided in markdown syntax. In addition
|
| + to standard markdown features, definition lists, tables and fenced code
|
| + blocks are supported. Section headers can be provided and are interpreted
|
| + relative to the section nesting of the context where a documentation
|
| + fragment is embedded. Documentation from the IDL is merged with
|
| + documentation defined via the config at normalization time, where
|
| + documentation provided by config rules overrides IDL provided. A number of
|
| + constructs specific to the API platform are supported in documentation text.
|
| + In order to reference a proto element, the following notation can be used:
|
| + <pre><code>[fully.qualified.proto.name][]</code></pre> To override
|
| + the display text used for the link, this can be used:
|
| + <pre><code>[display text][fully.qualified.proto.name]</code></pre>
|
| + Text can be excluded from doc using the following notation:
|
| + <pre><code>(-- internal comment --)</code></pre> Comments can be
|
| + made conditional using a visibility label. The below text will be only
|
| + rendered if the `BETA` label is available: <pre><code>(--BETA: comment
|
| + for BETA users --)</code></pre> A few directives are available in
|
| + documentation. Note that directives must appear on a single line to be
|
| + properly identified. The `include` directive includes a markdown file from
|
| + an external source: <pre><code>(== include path/to/file
|
| + ==)</code></pre> The `resource_for` directive marks a message to be the
|
| + resource of a collection in REST view. If it is not specified, tools attempt
|
| + to infer the resource from the operations in a collection:
|
| + <pre><code>(== resource_for v1.shelves.books ==)</code></pre> The
|
| + directive `suppress_warning` does not directly affect documentation and is
|
| + documented together with service config validation.
|
| +
|
| + Fields:
|
| + documentationRootUrl: The URL to the root of documentation.
|
| + overview: Declares a single overview page. For example:
|
| + <pre><code>documentation: summary: ... overview: (== include
|
| + overview.md ==) </code></pre> This is a shortcut for the following
|
| + declaration (using pages style): <pre><code>documentation: summary:
|
| + ... pages: - name: Overview content: (== include overview.md
|
| + ==) </code></pre> Note: you cannot specify both `overview` field and
|
| + `pages` field.
|
| + pages: The top level pages for the documentation set.
|
| + rules: Documentation rules for individual elements of the service.
|
| + summary: A short summary of what the service does. Can only be provided by
|
| + plain text.
|
| + """
|
| +
|
| + documentationRootUrl = _messages.StringField(1)
|
| + overview = _messages.StringField(2)
|
| + pages = _messages.MessageField('Page', 3, repeated=True)
|
| + rules = _messages.MessageField('DocumentationRule', 4, repeated=True)
|
| + summary = _messages.StringField(5)
|
| +
|
| +
|
| +class DocumentationRule(_messages.Message):
|
| + """A documentation rule provides information about individual API elements.
|
| +
|
| + Fields:
|
| + deprecationDescription: Deprecation description of the selected
|
| + element(s). It can be provided if an element is marked as `deprecated`.
|
| + description: Description of the selected API(s).
|
| + selector: 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.
|
| + """
|
| +
|
| + deprecationDescription = _messages.StringField(1)
|
| + description = _messages.StringField(2)
|
| + selector = _messages.StringField(3)
|
| +
|
| +
|
| +class Enum(_messages.Message):
|
| + """Enum type definition.
|
| +
|
| + Enums:
|
| + SyntaxValueValuesEnum: The source syntax.
|
| +
|
| + Fields:
|
| + enumvalue: Enum value definitions.
|
| + name: Enum type name.
|
| + options: Protocol buffer options.
|
| + sourceContext: The source context.
|
| + syntax: The source syntax.
|
| + """
|
| +
|
| + class SyntaxValueValuesEnum(_messages.Enum):
|
| + """The source syntax.
|
| +
|
| + Values:
|
| + SYNTAX_PROTO2: Syntax `proto2`.
|
| + SYNTAX_PROTO3: Syntax `proto3`.
|
| + """
|
| + SYNTAX_PROTO2 = 0
|
| + SYNTAX_PROTO3 = 1
|
| +
|
| + enumvalue = _messages.MessageField('EnumValue', 1, repeated=True)
|
| + name = _messages.StringField(2)
|
| + options = _messages.MessageField('Option', 3, repeated=True)
|
| + sourceContext = _messages.MessageField('SourceContext', 4)
|
| + syntax = _messages.EnumField('SyntaxValueValuesEnum', 5)
|
| +
|
| +
|
| +class EnumValue(_messages.Message):
|
| + """Enum value definition.
|
| +
|
| + Fields:
|
| + name: Enum value name.
|
| + number: Enum value number.
|
| + options: Protocol buffer options.
|
| + """
|
| +
|
| + name = _messages.StringField(1)
|
| + number = _messages.IntegerField(2, variant=_messages.Variant.INT32)
|
| + options = _messages.MessageField('Option', 3, repeated=True)
|
| +
|
| +
|
| +class ExplicitBuckets(_messages.Message):
|
| + """Describing buckets with arbitrary user-provided width.
|
| +
|
| + Fields:
|
| + bounds: 'bound' is a list of strictly increasing boundaries between
|
| + buckets. Note that a list of length N-1 defines N buckets because of
|
| + fenceposting. See comments on `bucket_options` for details. The i'th
|
| + finite bucket covers the interval [bound[i-1], bound[i]) where i
|
| + ranges from 1 to bound_size() - 1. Note that there are no finite buckets
|
| + at all if 'bound' only contains a single element; in that special case
|
| + the single bound defines the boundary between the underflow and overflow
|
| + buckets. bucket number lower bound upper bound i
|
| + == 0 (underflow) -inf bound[i] 0 < i <
|
| + bound_size() bound[i-1] bound[i] i == bound_size()
|
| + (overflow) bound[i-1] +inf
|
| + """
|
| +
|
| + bounds = _messages.FloatField(1, repeated=True)
|
| +
|
| +
|
| +class ExponentialBuckets(_messages.Message):
|
| + """Describing buckets with exponentially growing width.
|
| +
|
| + Fields:
|
| + growthFactor: The i'th exponential bucket covers the interval [scale *
|
| + growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to
|
| + num_finite_buckets inclusive. Must be larger than 1.0.
|
| + numFiniteBuckets: The number of finite buckets. With the underflow and
|
| + overflow buckets, the total number of buckets is `num_finite_buckets` +
|
| + 2. See comments on `bucket_options` for details.
|
| + scale: The i'th exponential bucket covers the interval [scale *
|
| + growth_factor^(i-1), scale * growth_factor^i) where i ranges from 1 to
|
| + num_finite_buckets inclusive. Must be strictly positive.
|
| + """
|
| +
|
| + growthFactor = _messages.FloatField(1)
|
| + numFiniteBuckets = _messages.IntegerField(2, variant=_messages.Variant.INT32)
|
| + scale = _messages.FloatField(3)
|
| +
|
| +
|
| +class Field(_messages.Message):
|
| + """A single field of a message type.
|
| +
|
| + Enums:
|
| + CardinalityValueValuesEnum: The field cardinality.
|
| + KindValueValuesEnum: The field type.
|
| +
|
| + Fields:
|
| + cardinality: The field cardinality.
|
| + defaultValue: The string value of the default value of this field. Proto2
|
| + syntax only.
|
| + jsonName: The field JSON name.
|
| + kind: The field type.
|
| + name: The field name.
|
| + number: The field number.
|
| + oneofIndex: The index of the field type in `Type.oneofs`, for message or
|
| + enumeration types. The first type has index 1; zero means the type is
|
| + not in the list.
|
| + options: The protocol buffer options.
|
| + packed: Whether to use alternative packed wire representation.
|
| + typeUrl: The field type URL, without the scheme, for message or
|
| + enumeration types. Example:
|
| + `"type.googleapis.com/google.protobuf.Timestamp"`.
|
| + """
|
| +
|
| + class CardinalityValueValuesEnum(_messages.Enum):
|
| + """The field cardinality.
|
| +
|
| + Values:
|
| + CARDINALITY_UNKNOWN: For fields with unknown cardinality.
|
| + CARDINALITY_OPTIONAL: For optional fields.
|
| + CARDINALITY_REQUIRED: For required fields. Proto2 syntax only.
|
| + CARDINALITY_REPEATED: For repeated fields.
|
| + """
|
| + CARDINALITY_UNKNOWN = 0
|
| + CARDINALITY_OPTIONAL = 1
|
| + CARDINALITY_REQUIRED = 2
|
| + CARDINALITY_REPEATED = 3
|
| +
|
| + class KindValueValuesEnum(_messages.Enum):
|
| + """The field type.
|
| +
|
| + Values:
|
| + TYPE_UNKNOWN: Field type unknown.
|
| + TYPE_DOUBLE: Field type double.
|
| + TYPE_FLOAT: Field type float.
|
| + TYPE_INT64: Field type int64.
|
| + TYPE_UINT64: Field type uint64.
|
| + TYPE_INT32: Field type int32.
|
| + TYPE_FIXED64: Field type fixed64.
|
| + TYPE_FIXED32: Field type fixed32.
|
| + TYPE_BOOL: Field type bool.
|
| + TYPE_STRING: Field type string.
|
| + TYPE_GROUP: Field type group. Proto2 syntax only, and deprecated.
|
| + TYPE_MESSAGE: Field type message.
|
| + TYPE_BYTES: Field type bytes.
|
| + TYPE_UINT32: Field type uint32.
|
| + TYPE_ENUM: Field type enum.
|
| + TYPE_SFIXED32: Field type sfixed32.
|
| + TYPE_SFIXED64: Field type sfixed64.
|
| + TYPE_SINT32: Field type sint32.
|
| + TYPE_SINT64: Field type sint64.
|
| + """
|
| + TYPE_UNKNOWN = 0
|
| + TYPE_DOUBLE = 1
|
| + TYPE_FLOAT = 2
|
| + TYPE_INT64 = 3
|
| + TYPE_UINT64 = 4
|
| + TYPE_INT32 = 5
|
| + TYPE_FIXED64 = 6
|
| + TYPE_FIXED32 = 7
|
| + TYPE_BOOL = 8
|
| + TYPE_STRING = 9
|
| + TYPE_GROUP = 10
|
| + TYPE_MESSAGE = 11
|
| + TYPE_BYTES = 12
|
| + TYPE_UINT32 = 13
|
| + TYPE_ENUM = 14
|
| + TYPE_SFIXED32 = 15
|
| + TYPE_SFIXED64 = 16
|
| + TYPE_SINT32 = 17
|
| + TYPE_SINT64 = 18
|
| +
|
| + cardinality = _messages.EnumField('CardinalityValueValuesEnum', 1)
|
| + defaultValue = _messages.StringField(2)
|
| + jsonName = _messages.StringField(3)
|
| + kind = _messages.EnumField('KindValueValuesEnum', 4)
|
| + name = _messages.StringField(5)
|
| + number = _messages.IntegerField(6, variant=_messages.Variant.INT32)
|
| + oneofIndex = _messages.IntegerField(7, variant=_messages.Variant.INT32)
|
| + options = _messages.MessageField('Option', 8, repeated=True)
|
| + packed = _messages.BooleanField(9)
|
| + typeUrl = _messages.StringField(10)
|
| +
|
| +
|
| +class Http(_messages.Message):
|
| + """Defines the HTTP configuration for a service. It contains a list of
|
| + HttpRule, each specifying the mapping of an RPC method to one or more HTTP
|
| + REST API methods.
|
| +
|
| + Fields:
|
| + rules: A list of HTTP rules for configuring the HTTP REST API methods.
|
| + """
|
| +
|
| + rules = _messages.MessageField('HttpRule', 1, repeated=True)
|
| +
|
| +
|
| +class HttpRequest(_messages.Message):
|
| + """A common proto for logging HTTP requests.
|
| +
|
| + Fields:
|
| + cacheFillBytes: The number of HTTP response bytes inserted into cache. Set
|
| + only when a cache fill was attempted.
|
| + cacheHit: Whether or not an entity was served from cache (with or without
|
| + validation).
|
| + cacheLookup: Whether or not a cache lookup was attempted.
|
| + cacheValidatedWithOriginServer: Whether or not the response was validated
|
| + with the origin server before being served from cache. This field is
|
| + only meaningful if `cache_hit` is True.
|
| + referer: The referer URL of the request, as defined in [HTTP/1.1 Header
|
| + Field
|
| + Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
|
| + remoteIp: The IP address (IPv4 or IPv6) of the client that issued the HTTP
|
| + request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
|
| + requestMethod: The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`,
|
| + `"POST"`.
|
| + requestSize: The size of the HTTP request message in bytes, including the
|
| + request headers and the request body.
|
| + requestUrl: The scheme (http, https), the host name, the path and the
|
| + query portion of the URL that was requested. Example:
|
| + `"http://example.com/some/info?color=red"`.
|
| + responseSize: The size of the HTTP response message sent back to the
|
| + client, in bytes, including the response headers and the response body.
|
| + serverIp: The IP address (IPv4 or IPv6) of the origin server that the
|
| + request was sent to.
|
| + status: The response code indicating the status of response. Examples:
|
| + 200, 404.
|
| + userAgent: The user agent sent by the client. Example: `"Mozilla/4.0
|
| + (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`.
|
| + """
|
| +
|
| + cacheFillBytes = _messages.IntegerField(1)
|
| + cacheHit = _messages.BooleanField(2)
|
| + cacheLookup = _messages.BooleanField(3)
|
| + cacheValidatedWithOriginServer = _messages.BooleanField(4)
|
| + referer = _messages.StringField(5)
|
| + remoteIp = _messages.StringField(6)
|
| + requestMethod = _messages.StringField(7)
|
| + requestSize = _messages.IntegerField(8)
|
| + requestUrl = _messages.StringField(9)
|
| + responseSize = _messages.IntegerField(10)
|
| + serverIp = _messages.StringField(11)
|
| + status = _messages.IntegerField(12, variant=_messages.Variant.INT32)
|
| + userAgent = _messages.StringField(13)
|
| +
|
| +
|
| +class HttpRule(_messages.Message):
|
| + """`HttpRule` defines the mapping of an RPC method to one or more HTTP REST
|
| + APIs. The mapping determines what portions of the request message are
|
| + populated from the path, query parameters, or body of the HTTP request. The
|
| + mapping is typically specified as an `google.api.http` annotation, 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: ```proto service
|
| + Messaging { rpc GetMessage(GetMessageRequest) returns (Message) {
|
| + option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
|
| + } } message GetMessageRequest { message SubMessage { string subfield =
|
| + 1; } string message_id = 1; // mapped to the URL SubMessage sub = 2;
|
| + // `sub.subfield` is url-mapped } message Message { string text = 1; //
|
| + content of the resource } ``` This definition enables an automatic,
|
| + bidrectional mapping of HTTP JSON to RPC. Example: HTTP | RPC -----|-----
|
| + `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: ```proto 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 } ``` This
|
| + enables a HTTP JSON to RPC mapping as below: HTTP | RPC -----|----- `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¶m=B`.
|
| + For HTTP method kinds which allow a request body, the `body` field specifies
|
| + the mapping. Consider a REST update method on the message resource
|
| + collection: ```proto service Messaging { rpc
|
| + UpdateMessage(UpdateMessageRequest) returns (Message) { option
|
| + (google.api.http) = { put: "/v1/messages/{message_id}" body:
|
| + "message" }; } } message UpdateMessageRequest { string message_id =
|
| + 1; // mapped to the URL 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 -----|----- `PUT /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 request body. This
|
| + enables the following alternative definition of the update method: ```proto
|
| + service Messaging { rpc UpdateMessage(Message) returns (Message) {
|
| + option (google.api.http) = { put: "/v1/messages/{message_id}"
|
| + body: "*" }; } } message Message { string message_id = 1; string
|
| + text = 2; } ``` The following HTTP JSON to RPC mapping is enabled: HTTP |
|
| + RPC -----|----- `PUT /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 defining REST APIs. The common usage of `*` is in
|
| + custom methods which don't use the URL at all for transferring data. It is
|
| + possible to define multiple HTTP methods for one RPC by using the
|
| + `additional_bindings` option. Example: ```proto service Messaging { rpc
|
| + GetMessage(GetMessageRequest) returns (Message) { option
|
| + (google.api.http) = { get: "/v1/messages/{message_id}"
|
| + additional_bindings { get:
|
| + "/v1/users/{user_id}/messages/{message_id}" } }; } } message
|
| + GetMessageRequest { string message_id = 1; string user_id = 2; } ```
|
| + This enables the following two alternative HTTP JSON to RPC mappings: HTTP
|
| + | RPC -----|----- `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 assumes there is no HTTP 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: Template = "/" Segments [ Verb ] ; Segments =
|
| + Segment { "/" Segment } ; Segment = "*" | "**" | LITERAL | Variable ;
|
| + Variable = "{" FieldPath [ "=" Segments ] "}" ; FieldPath = IDENT { "."
|
| + IDENT } ; Verb = ":" LITERAL ; The syntax `*` matches a single path
|
| + segment. It follows the semantics of [RFC
|
| + 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
|
| + Expansion. The syntax `**` matches zero or more path segments. It follows
|
| + the semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section
|
| + 3.2.3 Reserved Expansion. The syntax `LITERAL` matches literal text in the
|
| + URL path. The syntax `Variable` matches the entire path as specified by its
|
| + template; this nested template must not contain further variables. If a
|
| + variable matches a single path segment, its template may be omitted, e.g.
|
| + `{var}` is equivalent to `{var=*}`. NOTE: the field paths in variables and
|
| + in the `body` must not refer to repeated fields or map fields. Use
|
| + CustomHttpPattern to specify any HTTP method that is not included in the
|
| + `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified
|
| + for a given URL path rule. The wild-card rule is useful for services that
|
| + provide content to Web (HTML) clients.
|
| +
|
| + Fields:
|
| + additionalBindings: Additional HTTP bindings for the selector. Nested
|
| + bindings must not contain an `additional_bindings` field themselves
|
| + (that is, the nesting may only be one level deep).
|
| + body: 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.
|
| + custom: Custom pattern is used for defining custom verbs.
|
| + delete: Used for deleting a resource.
|
| + get: Used for listing and getting information about resources.
|
| + mediaDownload: Do not use this. For media support, add instead
|
| + [][google.bytestream.RestByteStream] as an API to your configuration.
|
| + mediaUpload: Do not use this. For media support, add instead
|
| + [][google.bytestream.RestByteStream] as an API to your configuration.
|
| + patch: Used for updating a resource.
|
| + post: Used for creating a resource.
|
| + put: Used for updating a resource.
|
| + selector: Selects methods to which this rule applies. Refer to selector
|
| + for syntax details.
|
| + """
|
| +
|
| + additionalBindings = _messages.MessageField('HttpRule', 1, repeated=True)
|
| + body = _messages.StringField(2)
|
| + custom = _messages.MessageField('CustomHttpPattern', 3)
|
| + delete = _messages.StringField(4)
|
| + get = _messages.StringField(5)
|
| + mediaDownload = _messages.MessageField('MediaDownload', 6)
|
| + mediaUpload = _messages.MessageField('MediaUpload', 7)
|
| + patch = _messages.StringField(8)
|
| + post = _messages.StringField(9)
|
| + put = _messages.StringField(10)
|
| + selector = _messages.StringField(11)
|
| +
|
| +
|
| +class LabelDescriptor(_messages.Message):
|
| + """A description of a label.
|
| +
|
| + Enums:
|
| + ValueTypeValueValuesEnum: The type of data that can be assigned to the
|
| + label.
|
| +
|
| + Fields:
|
| + description: A human-readable description for the label.
|
| + key: The label key.
|
| + valueType: The type of data that can be assigned to the label.
|
| + """
|
| +
|
| + class ValueTypeValueValuesEnum(_messages.Enum):
|
| + """The type of data that can be assigned to the label.
|
| +
|
| + Values:
|
| + STRING: A variable-length string. This is the default.
|
| + BOOL: Boolean; true or false.
|
| + INT64: A 64-bit signed integer.
|
| + """
|
| + STRING = 0
|
| + BOOL = 1
|
| + INT64 = 2
|
| +
|
| + description = _messages.StringField(1)
|
| + key = _messages.StringField(2)
|
| + valueType = _messages.EnumField('ValueTypeValueValuesEnum', 3)
|
| +
|
| +
|
| +class LinearBuckets(_messages.Message):
|
| + """Describing buckets with constant width.
|
| +
|
| + Fields:
|
| + numFiniteBuckets: The number of finite buckets. With the underflow and
|
| + overflow buckets, the total number of buckets is `num_finite_buckets` +
|
| + 2. See comments on `bucket_options` for details.
|
| + offset: The i'th linear bucket covers the interval [offset + (i-1) *
|
| + width, offset + i * width) where i ranges from 1 to num_finite_buckets,
|
| + inclusive.
|
| + width: The i'th linear bucket covers the interval [offset + (i-1) *
|
| + width, offset + i * width) where i ranges from 1 to num_finite_buckets,
|
| + inclusive. Must be strictly positive.
|
| + """
|
| +
|
| + numFiniteBuckets = _messages.IntegerField(1, variant=_messages.Variant.INT32)
|
| + offset = _messages.FloatField(2)
|
| + width = _messages.FloatField(3)
|
| +
|
| +
|
| +class LogDescriptor(_messages.Message):
|
| + """A description of a log type. Example in YAML format: - name:
|
| + library.googleapis.com/activity_history description: The history of
|
| + borrowing and returning library items. display_name: Activity
|
| + labels: - key: /customer_id description: Identifier of a
|
| + library customer
|
| +
|
| + Fields:
|
| + description: A human-readable description of this log. This information
|
| + appears in the documentation and can contain details.
|
| + displayName: The human-readable name for this log. This information
|
| + appears on the user interface and should be concise.
|
| + labels: The set of labels that are available to describe a specific log
|
| + entry. Runtime requests that contain labels not specified here are
|
| + considered invalid.
|
| + name: The name of the log. It must be less than 512 characters long and
|
| + can include the following characters: upper- and lower-case alphanumeric
|
| + characters [A-Za-z0-9], and punctuation characters including slash,
|
| + underscore, hyphen, period [/_-.].
|
| + """
|
| +
|
| + description = _messages.StringField(1)
|
| + displayName = _messages.StringField(2)
|
| + labels = _messages.MessageField('LabelDescriptor', 3, repeated=True)
|
| + name = _messages.StringField(4)
|
| +
|
| +
|
| +class LogEntry(_messages.Message):
|
| + """An individual log entry.
|
| +
|
| + Enums:
|
| + SeverityValueValuesEnum: Optional. The severity of the log entry. The
|
| + default value is `LogSeverity.DEFAULT`.
|
| +
|
| + Messages:
|
| + LabelsValue: Optional. A set of user-defined (key, value) data that
|
| + provides additional information about the log entry.
|
| + ProtoPayloadValue: The log entry payload, represented as a protocol buffer
|
| + that is expressed as a JSON object. You can only pass `protoPayload`
|
| + values that belong to a set of approved types.
|
| + StructPayloadValue: The log entry payload, represented as a structure that
|
| + is expressed as a JSON object.
|
| +
|
| + Fields:
|
| + httpRequest: Information about the HTTP request associated with this log
|
| + entry, if applicable. Deprecated. Please use fields 10-13.
|
| + insertId: A unique ID for the log entry used for deduplication. If
|
| + omitted, the implementation will generate one based on operation_id.
|
| + labels: Optional. A set of user-defined (key, value) data that provides
|
| + additional information about the log entry.
|
| + log: The log to which this entry belongs. When a log entry is written, the
|
| + value of this field is set by the logging system. Deprecated. Please
|
| + use fields 10-13.
|
| + metadata: Information about the log entry. Deprecated. Please use fields
|
| + 10-13.
|
| + name: Required. The log to which this log entry belongs. Examples:
|
| + `"syslog"`, `"book_log"`.
|
| + operation: Optional. Information about an operation associated with the
|
| + log entry, if applicable. Deprecated. Please use fields 10-13.
|
| + protoPayload: The log entry payload, represented as a protocol buffer that
|
| + is expressed as a JSON object. You can only pass `protoPayload` values
|
| + that belong to a set of approved types.
|
| + severity: Optional. The severity of the log entry. The default value is
|
| + `LogSeverity.DEFAULT`.
|
| + structPayload: The log entry payload, represented as a structure that is
|
| + expressed as a JSON object.
|
| + textPayload: The log entry payload, represented as a Unicode string
|
| + (UTF-8).
|
| + timestamp: Optional. The time the event described by the log entry
|
| + occurred. If omitted, defaults to operation start time.
|
| + """
|
| +
|
| + class SeverityValueValuesEnum(_messages.Enum):
|
| + """Optional. The severity of the log entry. The default value is
|
| + `LogSeverity.DEFAULT`.
|
| +
|
| + Values:
|
| + DEFAULT: The log entry has no assigned severity level.
|
| + DEBUG: Debug or trace information.
|
| + INFO: Routine information, such as ongoing status or performance.
|
| + NOTICE: Normal but significant events, such as start up, shut down, or
|
| + configuration.
|
| + WARNING: Warning events might cause problems.
|
| + ERROR: Error events are likely to cause problems.
|
| + CRITICAL: Critical events cause more severe problems or brief outages.
|
| + ALERT: A person must take an action immediately.
|
| + EMERGENCY: One or more systems are unusable.
|
| + """
|
| + DEFAULT = 0
|
| + DEBUG = 1
|
| + INFO = 2
|
| + NOTICE = 3
|
| + WARNING = 4
|
| + ERROR = 5
|
| + CRITICAL = 6
|
| + ALERT = 7
|
| + EMERGENCY = 8
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class LabelsValue(_messages.Message):
|
| + """Optional. A set of user-defined (key, value) data that provides
|
| + additional information about the log entry.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Additional properties of type LabelsValue
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A string attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.StringField(2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class ProtoPayloadValue(_messages.Message):
|
| + """The log entry payload, represented as a protocol buffer that is
|
| + expressed as a JSON object. You can only pass `protoPayload` values that
|
| + belong to a set of approved types.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a ProtoPayloadValue
|
| + object.
|
| +
|
| + Fields:
|
| + additionalProperties: Properties of the object. Contains field @ype with
|
| + type URL.
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a ProtoPayloadValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A extra_types.JsonValue attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.MessageField('extra_types.JsonValue', 2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class StructPayloadValue(_messages.Message):
|
| + """The log entry payload, represented as a structure that is expressed as
|
| + a JSON object.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a StructPayloadValue
|
| + object.
|
| +
|
| + Fields:
|
| + additionalProperties: Properties of the object.
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a StructPayloadValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A extra_types.JsonValue attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.MessageField('extra_types.JsonValue', 2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + httpRequest = _messages.MessageField('HttpRequest', 1)
|
| + insertId = _messages.StringField(2)
|
| + labels = _messages.MessageField('LabelsValue', 3)
|
| + log = _messages.StringField(4)
|
| + metadata = _messages.MessageField('LogEntryMetadata', 5)
|
| + name = _messages.StringField(6)
|
| + operation = _messages.MessageField('LogEntryOperation', 7)
|
| + protoPayload = _messages.MessageField('ProtoPayloadValue', 8)
|
| + severity = _messages.EnumField('SeverityValueValuesEnum', 9)
|
| + structPayload = _messages.MessageField('StructPayloadValue', 10)
|
| + textPayload = _messages.StringField(11)
|
| + timestamp = _messages.StringField(12)
|
| +
|
| +
|
| +class LogEntryMetadata(_messages.Message):
|
| + """Additional data that is associated with a log entry, set by the service
|
| + creating the log entry.
|
| +
|
| + Enums:
|
| + SeverityValueValuesEnum: The severity of the log entry. If omitted,
|
| + `LogSeverity.DEFAULT` is used.
|
| +
|
| + Messages:
|
| + LabelsValue: A set of (key, value) data that provides additional
|
| + information about the log entry. If the log entry is from one of the
|
| + Google Cloud Platform sources listed below, the indicated (key, value)
|
| + information must be provided: Google App Engine, service_name
|
| + `appengine.googleapis.com`: "appengine.googleapis.com/module_id",
|
| + <module ID> "appengine.googleapis.com/version_id", <version ID>
|
| + and one of: "appengine.googleapis.com/replica_index", <instance
|
| + index> "appengine.googleapis.com/clone_id", <instance ID> or
|
| + else provide the following Compute Engine labels: Google Compute
|
| + Engine, service_name `compute.googleapis.com`:
|
| + "compute.googleapis.com/resource_type", "instance"
|
| + "compute.googleapis.com/resource_id", <instance ID>
|
| +
|
| + Fields:
|
| + labels: A set of (key, value) data that provides additional information
|
| + about the log entry. If the log entry is from one of the Google Cloud
|
| + Platform sources listed below, the indicated (key, value) information
|
| + must be provided: Google App Engine, service_name
|
| + `appengine.googleapis.com`: "appengine.googleapis.com/module_id",
|
| + <module ID> "appengine.googleapis.com/version_id", <version ID>
|
| + and one of: "appengine.googleapis.com/replica_index", <instance
|
| + index> "appengine.googleapis.com/clone_id", <instance ID> or
|
| + else provide the following Compute Engine labels: Google Compute
|
| + Engine, service_name `compute.googleapis.com`:
|
| + "compute.googleapis.com/resource_type", "instance"
|
| + "compute.googleapis.com/resource_id", <instance ID>
|
| + projectId: The project ID of the Google Cloud Platform service that
|
| + created the log entry.
|
| + region: The region name of the Google Cloud Platform service that created
|
| + the log entry. For example, `"us-central1"`.
|
| + serviceName: Required. The API name of the Google Cloud Platform service
|
| + that created the log entry. For example, `"compute.googleapis.com"`.
|
| + severity: The severity of the log entry. If omitted, `LogSeverity.DEFAULT`
|
| + is used.
|
| + timestamp: The time the event described by the log entry occurred.
|
| + Timestamps must be later than January 1, 1970. If omitted, Stackdriver
|
| + Logging will use the time the log entry is received.
|
| + userId: The fully-qualified email address of the authenticated user that
|
| + performed or requested the action represented by the log entry. If the
|
| + log entry does not apply to an action taken by an authenticated user,
|
| + then the field should be empty.
|
| + zone: The zone of the Google Cloud Platform service that created the log
|
| + entry. For example, `"us-central1-a"`.
|
| + """
|
| +
|
| + class SeverityValueValuesEnum(_messages.Enum):
|
| + """The severity of the log entry. If omitted, `LogSeverity.DEFAULT` is
|
| + used.
|
| +
|
| + Values:
|
| + DEFAULT: The log entry has no assigned severity level.
|
| + DEBUG: Debug or trace information.
|
| + INFO: Routine information, such as ongoing status or performance.
|
| + NOTICE: Normal but significant events, such as start up, shut down, or
|
| + configuration.
|
| + WARNING: Warning events might cause problems.
|
| + ERROR: Error events are likely to cause problems.
|
| + CRITICAL: Critical events cause more severe problems or brief outages.
|
| + ALERT: A person must take an action immediately.
|
| + EMERGENCY: One or more systems are unusable.
|
| + """
|
| + DEFAULT = 0
|
| + DEBUG = 1
|
| + INFO = 2
|
| + NOTICE = 3
|
| + WARNING = 4
|
| + ERROR = 5
|
| + CRITICAL = 6
|
| + ALERT = 7
|
| + EMERGENCY = 8
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class LabelsValue(_messages.Message):
|
| + """A set of (key, value) data that provides additional information about
|
| + the log entry. If the log entry is from one of the Google Cloud Platform
|
| + sources listed below, the indicated (key, value) information must be
|
| + provided: Google App Engine, service_name `appengine.googleapis.com`:
|
| + "appengine.googleapis.com/module_id", <module ID>
|
| + "appengine.googleapis.com/version_id", <version ID> and one of:
|
| + "appengine.googleapis.com/replica_index", <instance index>
|
| + "appengine.googleapis.com/clone_id", <instance ID> or else provide
|
| + the following Compute Engine labels: Google Compute Engine, service_name
|
| + `compute.googleapis.com`: "compute.googleapis.com/resource_type",
|
| + "instance" "compute.googleapis.com/resource_id", <instance ID>
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Additional properties of type LabelsValue
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A string attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.StringField(2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + labels = _messages.MessageField('LabelsValue', 1)
|
| + projectId = _messages.StringField(2)
|
| + region = _messages.StringField(3)
|
| + serviceName = _messages.StringField(4)
|
| + severity = _messages.EnumField('SeverityValueValuesEnum', 5)
|
| + timestamp = _messages.StringField(6)
|
| + userId = _messages.StringField(7)
|
| + zone = _messages.StringField(8)
|
| +
|
| +
|
| +class LogEntryOperation(_messages.Message):
|
| + """Additional information about a potentially long running operation with
|
| + which a log entry is associated.
|
| +
|
| + Fields:
|
| + first: True for the first entry associated with `id`.
|
| + id: An opaque identifier. A producer of log entries should ensure that
|
| + `id` is only reused for entries related to one operation.
|
| + last: True for the last entry associated with `id`.
|
| + producer: Ensures the operation can be uniquely identified. The
|
| + combination of `id` and `producer` should be made globally unique by
|
| + filling `producer` with a value that disambiguates the service that
|
| + created `id`.
|
| + """
|
| +
|
| + first = _messages.BooleanField(1)
|
| + id = _messages.StringField(2)
|
| + last = _messages.BooleanField(3)
|
| + producer = _messages.StringField(4)
|
| +
|
| +
|
| +class Logging(_messages.Message):
|
| + """Logging configuration of the service. The following example shows how to
|
| + configure logs to be sent to the producer and consumer projects. In the
|
| + example, the `library.googleapis.com/activity_history` log is sent to both
|
| + the producer and consumer projects, whereas the
|
| + `library.googleapis.com/purchase_history` log is only sent to the producer
|
| + project: monitored_resources: - type: library.googleapis.com/branch
|
| + labels: - key: /city description: The city where the library
|
| + branch is located in. - key: /name description: The name of
|
| + the branch. logs: - name: library.googleapis.com/activity_history
|
| + labels: - key: /customer_id - name:
|
| + library.googleapis.com/purchase_history logging:
|
| + producer_destinations: - monitored_resource:
|
| + library.googleapis.com/branch logs: -
|
| + library.googleapis.com/activity_history -
|
| + library.googleapis.com/purchase_history consumer_destinations: -
|
| + monitored_resource: library.googleapis.com/branch logs: -
|
| + library.googleapis.com/activity_history
|
| +
|
| + Fields:
|
| + consumerDestinations: Logging configurations for sending logs to the
|
| + consumer project. There can be multiple consumer destinations, each one
|
| + must have a different monitored resource type. A log can be used in at
|
| + most one consumer destination.
|
| + producerDestinations: Logging configurations for sending logs to the
|
| + producer project. There can be multiple producer destinations, each one
|
| + must have a different monitored resource type. A log can be used in at
|
| + most one producer destination.
|
| + """
|
| +
|
| + consumerDestinations = _messages.MessageField('LoggingDestination', 1, repeated=True)
|
| + producerDestinations = _messages.MessageField('LoggingDestination', 2, repeated=True)
|
| +
|
| +
|
| +class LoggingDestination(_messages.Message):
|
| + """Configuration of a specific logging destination (the producer project or
|
| + the consumer project).
|
| +
|
| + Fields:
|
| + logs: Names of the logs to be sent to this destination. Each name must be
|
| + defined in the Service.logs section.
|
| + monitoredResource: The monitored resource type. The type must be defined
|
| + in Service.monitored_resources section.
|
| + """
|
| +
|
| + logs = _messages.StringField(1, repeated=True)
|
| + monitoredResource = _messages.StringField(2)
|
| +
|
| +
|
| +class MediaDownload(_messages.Message):
|
| + """Do not use this. For media support, add instead
|
| + [][google.bytestream.RestByteStream] as an API to your configuration.
|
| +
|
| + Fields:
|
| + enabled: Whether download is enabled.
|
| + """
|
| +
|
| + enabled = _messages.BooleanField(1)
|
| +
|
| +
|
| +class MediaUpload(_messages.Message):
|
| + """Do not use this. For media support, add instead
|
| + [][google.bytestream.RestByteStream] as an API to your configuration.
|
| +
|
| + Fields:
|
| + enabled: Whether upload is enabled.
|
| + """
|
| +
|
| + enabled = _messages.BooleanField(1)
|
| +
|
| +
|
| +class Method(_messages.Message):
|
| + """Method represents a method of an api.
|
| +
|
| + Enums:
|
| + SyntaxValueValuesEnum: The source syntax of this method.
|
| +
|
| + Fields:
|
| + name: The simple name of this method.
|
| + options: Any metadata attached to the method.
|
| + requestStreaming: If true, the request is streamed.
|
| + requestTypeUrl: A URL of the input message type.
|
| + responseStreaming: If true, the response is streamed.
|
| + responseTypeUrl: The URL of the output message type.
|
| + syntax: The source syntax of this method.
|
| + """
|
| +
|
| + class SyntaxValueValuesEnum(_messages.Enum):
|
| + """The source syntax of this method.
|
| +
|
| + Values:
|
| + SYNTAX_PROTO2: Syntax `proto2`.
|
| + SYNTAX_PROTO3: Syntax `proto3`.
|
| + """
|
| + SYNTAX_PROTO2 = 0
|
| + SYNTAX_PROTO3 = 1
|
| +
|
| + name = _messages.StringField(1)
|
| + options = _messages.MessageField('Option', 2, repeated=True)
|
| + requestStreaming = _messages.BooleanField(3)
|
| + requestTypeUrl = _messages.StringField(4)
|
| + responseStreaming = _messages.BooleanField(5)
|
| + responseTypeUrl = _messages.StringField(6)
|
| + syntax = _messages.EnumField('SyntaxValueValuesEnum', 7)
|
| +
|
| +
|
| +class MetricDescriptor(_messages.Message):
|
| + """Defines a metric type and its schema.
|
| +
|
| + Enums:
|
| + MetricKindValueValuesEnum: Whether the metric records instantaneous
|
| + values, changes to a value, etc.
|
| + ValueTypeValueValuesEnum: Whether the measurement is an integer, a
|
| + floating-point number, etc.
|
| +
|
| + Fields:
|
| + description: A detailed description of the metric, which can be used in
|
| + documentation.
|
| + displayName: A concise name for the metric, which can be displayed in user
|
| + interfaces. Use sentence case without an ending period, for example
|
| + "Request count".
|
| + labels: The set of labels that can be used to describe a specific instance
|
| + of this metric type. For example, the
|
| + `compute.googleapis.com/instance/network/received_bytes_count` metric
|
| + type has a label, `loadbalanced`, that specifies whether the traffic was
|
| + received through a load balanced IP address.
|
| + metricKind: Whether the metric records instantaneous values, changes to a
|
| + value, etc.
|
| + name: Resource name. The format of the name may vary between different
|
| + implementations. For examples:
|
| + projects/{project_id}/metricDescriptors/{type=**}
|
| + metricDescriptors/{type=**}
|
| + type: The metric type including a DNS name prefix, for example
|
| + `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should
|
| + use a natural hierarchical grouping such as the following:
|
| + compute.googleapis.com/instance/cpu/utilization
|
| + compute.googleapis.com/instance/disk/read_ops_count
|
| + compute.googleapis.com/instance/network/received_bytes_count Note that
|
| + if the metric type changes, the monitoring data will be discontinued,
|
| + and anything depends on it will break, such as monitoring dashboards,
|
| + alerting rules and quota limits. Therefore, once a metric has been
|
| + published, its type should be immutable.
|
| + unit: 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: **Basic units
|
| + (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute
|
| + * `h` hour * `d` day **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) **Grammar** The grammar includes the
|
| + dimensionless unit `1`, such as `1/s`. The grammar also includes these
|
| + connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.`
|
| + multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a
|
| + unit is as follows: Expression = Component { "." Component } { "/"
|
| + Component } ; Component = [ PREFIX ] UNIT [ Annotation ]
|
| + | Annotation | "1" ; Annotation = "{"
|
| + NAME "}" ; 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`. * `NAME` is a
|
| + sequence of non-blank printable ASCII characters not containing '{'
|
| + or '}'.
|
| + valueType: Whether the measurement is an integer, a floating-point number,
|
| + etc.
|
| + """
|
| +
|
| + class MetricKindValueValuesEnum(_messages.Enum):
|
| + """Whether the metric records instantaneous values, changes to a value,
|
| + etc.
|
| +
|
| + Values:
|
| + METRIC_KIND_UNSPECIFIED: Do not use this default value.
|
| + GAUGE: Instantaneous measurements of a varying quantity.
|
| + DELTA: Changes over non-overlapping time intervals.
|
| + CUMULATIVE: Cumulative value over time intervals that can overlap. The
|
| + overlapping intervals must have the same start time.
|
| + """
|
| + METRIC_KIND_UNSPECIFIED = 0
|
| + GAUGE = 1
|
| + DELTA = 2
|
| + CUMULATIVE = 3
|
| +
|
| + class ValueTypeValueValuesEnum(_messages.Enum):
|
| + """Whether the measurement is an integer, a floating-point number, etc.
|
| +
|
| + Values:
|
| + VALUE_TYPE_UNSPECIFIED: Do not use this default value.
|
| + BOOL: The value is a boolean. This value type can be used only if the
|
| + metric kind is `GAUGE`.
|
| + INT64: The value is a signed 64-bit integer.
|
| + DOUBLE: The value is a double precision floating point number.
|
| + STRING: The value is a text string. This value type can be used only if
|
| + the metric kind is `GAUGE`.
|
| + DISTRIBUTION: The value is a `Distribution`.
|
| + MONEY: The value is money.
|
| + """
|
| + VALUE_TYPE_UNSPECIFIED = 0
|
| + BOOL = 1
|
| + INT64 = 2
|
| + DOUBLE = 3
|
| + STRING = 4
|
| + DISTRIBUTION = 5
|
| + MONEY = 6
|
| +
|
| + description = _messages.StringField(1)
|
| + displayName = _messages.StringField(2)
|
| + labels = _messages.MessageField('LabelDescriptor', 3, repeated=True)
|
| + metricKind = _messages.EnumField('MetricKindValueValuesEnum', 4)
|
| + name = _messages.StringField(5)
|
| + type = _messages.StringField(6)
|
| + unit = _messages.StringField(7)
|
| + valueType = _messages.EnumField('ValueTypeValueValuesEnum', 8)
|
| +
|
| +
|
| +class MetricValue(_messages.Message):
|
| + """Represents a single metric value.
|
| +
|
| + Messages:
|
| + LabelsValue: The labels describing the metric value. See comments on
|
| + Operation.labels for the overriding relationship.
|
| +
|
| + Fields:
|
| + boolValue: A boolean value.
|
| + distributionValue: A distribution value.
|
| + doubleValue: A double precision floating point value.
|
| + endTime: The end of the time period over which this metric value's
|
| + measurement applies.
|
| + int64Value: A signed 64-bit integer value.
|
| + labels: The labels describing the metric value. See comments on
|
| + Operation.labels for the overriding relationship.
|
| + moneyValue: A money value.
|
| + startTime: The start of the time period over which this metric value's
|
| + measurement applies. The time period has different semantics for
|
| + different metric types (cumulative, delta, and gauge). See the metric
|
| + definition documentation in the service configuration for details.
|
| + stringValue: A text string value.
|
| + """
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class LabelsValue(_messages.Message):
|
| + """The labels describing the metric value. See comments on
|
| + Operation.labels for the overriding relationship.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Additional properties of type LabelsValue
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A string attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.StringField(2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + boolValue = _messages.BooleanField(1)
|
| + distributionValue = _messages.MessageField('Distribution', 2)
|
| + doubleValue = _messages.FloatField(3)
|
| + endTime = _messages.StringField(4)
|
| + int64Value = _messages.IntegerField(5)
|
| + labels = _messages.MessageField('LabelsValue', 6)
|
| + moneyValue = _messages.MessageField('Money', 7)
|
| + startTime = _messages.StringField(8)
|
| + stringValue = _messages.StringField(9)
|
| +
|
| +
|
| +class MetricValueSet(_messages.Message):
|
| + """Represents a set of metric values in the same metric. Each metric value
|
| + in the set should have a unique combination of start time, end time, and
|
| + label values.
|
| +
|
| + Fields:
|
| + metricName: The metric name defined in the service configuration.
|
| + metricValues: The values in this metric.
|
| + """
|
| +
|
| + metricName = _messages.StringField(1)
|
| + metricValues = _messages.MessageField('MetricValue', 2, repeated=True)
|
| +
|
| +
|
| +class Mixin(_messages.Message):
|
| + """Declares an API to be included in this API. The including API must
|
| + redeclare all the methods from the included API, but documentation and
|
| + options are inherited as follows: - If after comment and whitespace
|
| + stripping, the documentation string of the redeclared method is empty, it
|
| + will be inherited from the original method. - Each annotation belonging
|
| + to the service config (http, visibility) which is not set in the
|
| + redeclared method will be inherited. - If an http annotation is
|
| + inherited, the path pattern will be modified as follows. Any version
|
| + prefix will be replaced by the version of the including API plus the root
|
| + path if specified. Example of a simple mixin: package google.acl.v1;
|
| + service AccessControl { // Get the underlying ACL object. rpc
|
| + GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get =
|
| + "/v1/{resource=**}:getAcl"; } } package google.storage.v2;
|
| + service Storage { // rpc GetAcl(GetAclRequest) returns (Acl);
|
| + // Get a data record. rpc GetData(GetDataRequest) returns (Data) {
|
| + option (google.api.http).get = "/v2/{resource=**}"; } } Example
|
| + of a mixin configuration: apis: - name: google.storage.v2.Storage
|
| + mixins: - name: google.acl.v1.AccessControl The mixin construct
|
| + implies that all methods in `AccessControl` are also declared with same name
|
| + and request/response types in `Storage`. A documentation generator or
|
| + annotation processor will see the effective `Storage.GetAcl` method after
|
| + inherting documentation and annotations as follows: service Storage {
|
| + // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns
|
| + (Acl) { option (google.api.http).get = "/v2/{resource=**}:getAcl";
|
| + } ... } Note how the version in the path pattern changed from
|
| + `v1` to `v2`. If the `root` field in the mixin is specified, it should be a
|
| + relative path under which inherited HTTP paths are placed. Example:
|
| + apis: - name: google.storage.v2.Storage mixins: - name:
|
| + google.acl.v1.AccessControl root: acls This implies the following
|
| + inherited HTTP annotation: service Storage { // Get the
|
| + underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) {
|
| + option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; }
|
| + ... }
|
| +
|
| + Fields:
|
| + name: The fully qualified name of the API which is included.
|
| + root: If non-empty specifies a path under which inherited HTTP paths are
|
| + rooted.
|
| + """
|
| +
|
| + name = _messages.StringField(1)
|
| + root = _messages.StringField(2)
|
| +
|
| +
|
| +class Money(_messages.Message):
|
| + """Represents an amount of money with its currency type.
|
| +
|
| + Fields:
|
| + currencyCode: The 3-letter currency code defined in ISO 4217.
|
| + nanos: Number of nano (10^-9) units of the amount. The value must be
|
| + between -999,999,999 and +999,999,999 inclusive. If `units` is positive,
|
| + `nanos` must be positive or zero. If `units` is zero, `nanos` can be
|
| + positive, zero, or negative. If `units` is negative, `nanos` must be
|
| + negative or zero. For example $-1.75 is represented as `units`=-1 and
|
| + `nanos`=-750,000,000.
|
| + units: The whole units of the amount. For example if `currencyCode` is
|
| + `"USD"`, then 1 unit is one US dollar.
|
| + """
|
| +
|
| + currencyCode = _messages.StringField(1)
|
| + nanos = _messages.IntegerField(2, variant=_messages.Variant.INT32)
|
| + units = _messages.IntegerField(3)
|
| +
|
| +
|
| +class MonitoredResourceDescriptor(_messages.Message):
|
| + """An object that describes the schema of a 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
|
| + `"gce_instance"` and specifies the use of the labels `"instance_id"` and
|
| + `"zone"` to identify particular VM instances. Different APIs can support
|
| + different monitored resource types. APIs generally provide a `list` method
|
| + that returns the monitored resource descriptors used by the API.
|
| +
|
| + Fields:
|
| + description: Optional. A detailed description of the monitored resource
|
| + type that might be used in documentation.
|
| + displayName: Optional. A concise name for the monitored resource type that
|
| + might be displayed in user interfaces. For example, `"Google Cloud SQL
|
| + Database"`.
|
| + labels: Required. A set of labels used to describe instances of this
|
| + monitored resource type. For example, an individual Google Cloud SQL
|
| + database is identified by values for the labels `"database_id"` and
|
| + `"zone"`.
|
| + name: Optional. The resource name of the monitored resource descriptor:
|
| + `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
|
| + {type} is the value of the `type` field in this object and {project_id}
|
| + is a project ID that provides API-specific context for accessing the
|
| + type. APIs that do not use project information can use the resource
|
| + name format `"monitoredResourceDescriptors/{type}"`.
|
| + type: Required. The monitored resource type. For example, the type
|
| + `"cloudsql_database"` represents databases in Google Cloud SQL.
|
| + """
|
| +
|
| + description = _messages.StringField(1)
|
| + displayName = _messages.StringField(2)
|
| + labels = _messages.MessageField('LabelDescriptor', 3, repeated=True)
|
| + name = _messages.StringField(4)
|
| + type = _messages.StringField(5)
|
| +
|
| +
|
| +class Monitoring(_messages.Message):
|
| + """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
|
| + consumer project. monitored_resources: - type:
|
| + library.googleapis.com/branch labels: - key: /city
|
| + description: The city where the library branch is located in. - key:
|
| + /name description: The name of the branch. metrics: - name:
|
| + library.googleapis.com/book/returned_count metric_kind: DELTA
|
| + value_type: INT64 labels: - key: /customer_id - name:
|
| + library.googleapis.com/book/overdue_count metric_kind: GAUGE
|
| + value_type: INT64 labels: - key: /customer_id monitoring:
|
| + producer_destinations: - monitored_resource:
|
| + library.googleapis.com/branch metrics: -
|
| + library.googleapis.com/book/returned_count consumer_destinations:
|
| + - monitored_resource: library.googleapis.com/branch metrics:
|
| + - library.googleapis.com/book/returned_count -
|
| + library.googleapis.com/book/overdue_count
|
| +
|
| + Fields:
|
| + consumerDestinations: 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.
|
| + producerDestinations: 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.
|
| + """
|
| +
|
| + consumerDestinations = _messages.MessageField('MonitoringDestination', 1, repeated=True)
|
| + producerDestinations = _messages.MessageField('MonitoringDestination', 2, repeated=True)
|
| +
|
| +
|
| +class MonitoringDestination(_messages.Message):
|
| + """Configuration of a specific monitoring destination (the producer project
|
| + or the consumer project).
|
| +
|
| + Fields:
|
| + metrics: Names of the metrics to report to this monitoring destination.
|
| + Each name must be defined in Service.metrics section.
|
| + monitoredResource: The monitored resource type. The type must be defined
|
| + in Service.monitored_resources section.
|
| + """
|
| +
|
| + metrics = _messages.StringField(1, repeated=True)
|
| + monitoredResource = _messages.StringField(2)
|
| +
|
| +
|
| +class OAuthRequirements(_messages.Message):
|
| + """OAuth scopes are a way to define data and permissions on data. For
|
| + example, there are scopes defined for "Read-only access to Google Calendar"
|
| + and "Access to Cloud Platform". Users can consent to a scope for an
|
| + application, giving it permission to access that data on their behalf.
|
| + OAuth scope specifications should be fairly coarse grained; a user will need
|
| + to see and understand the text description of what your scope means. In
|
| + most cases: use one or at most two OAuth scopes for an entire family of
|
| + products. If your product has multiple APIs, you should probably be sharing
|
| + the OAuth scope across all of those APIs. When you need finer grained OAuth
|
| + consent screens: talk with your product management about how developers will
|
| + use them in practice. Please note that even though each of the canonical
|
| + scopes is enough for a request to be accepted and passed to the backend, a
|
| + request can still fail due to the backend requiring additional scopes or
|
| + permissions.
|
| +
|
| + Fields:
|
| + canonicalScopes: The list of publicly documented OAuth scopes that are
|
| + allowed access. An OAuth token containing any of these scopes will be
|
| + accepted. Example: canonical_scopes:
|
| + https://www.googleapis.com/auth/calendar,
|
| + https://www.googleapis.com/auth/calendar.read
|
| + """
|
| +
|
| + canonicalScopes = _messages.StringField(1)
|
| +
|
| +
|
| +class Operation(_messages.Message):
|
| + """Represents information regarding an operation.
|
| +
|
| + Enums:
|
| + ImportanceValueValuesEnum: The importance of the data contained in the
|
| + operation.
|
| +
|
| + Messages:
|
| + LabelsValue: Labels describing the operation. Only the following labels
|
| + are allowed: Labels describing the monitored resource. The labels must
|
| + be defined in the service configuration. Default labels of the metric
|
| + values. When specified, labels defined in the metric value overrule.
|
| + Labels are defined and documented by Google Cloud Platform. For example:
|
| + `cloud.googleapis.com/location: "us-east1"`.
|
| +
|
| + Fields:
|
| + consumerId: Identity of the consumer who is using the service. This field
|
| + should be filled in for the operations initiated by a consumer, but not
|
| + for service initiated operations that are not related to a specific
|
| + consumer. The accepted format is dependent on the implementation. The
|
| + Google Service Control implementation accepts four forms:
|
| + "project:<project_id>", "project_number:<project_number>",
|
| + "api_key:<api_key>" and "spatula_header:<spatula_header>".
|
| + endTime: End time of the operation. Required when the operation is used in
|
| + ControllerService.Report, but optional when the operation is used in
|
| + ControllerService.Check.
|
| + importance: The importance of the data contained in the operation.
|
| + labels: Labels describing the operation. Only the following labels are
|
| + allowed: Labels describing the monitored resource. The labels must be
|
| + defined in the service configuration. Default labels of the metric
|
| + values. When specified, labels defined in the metric value overrule.
|
| + Labels are defined and documented by Google Cloud Platform. For example:
|
| + `cloud.googleapis.com/location: "us-east1"`.
|
| + logEntries: Represents information to be logged.
|
| + metricValueSets: Represents information about this operation. Each
|
| + MetricValueSet corresponds to a metric defined in the service
|
| + configuration. The data type used in the MetricValueSet must agree with
|
| + the data type specified in the metric definition. Within a single
|
| + operation, it is not allowed to have more than one MetricValue instances
|
| + that have the same metric names and identical label value combinations.
|
| + The existence of such duplicated MetricValue instances in a request
|
| + causes the entire request being rejected with an invalid argument error.
|
| + operationId: Identity of the operation. It must be unique within the scope
|
| + of the service that the operation is generated. If the service calls
|
| + Check() and Report() on the same operation, the two calls should carry
|
| + the same id. UUID version 4 is recommended, though not required. In the
|
| + scenarios where an operation is computed from existing information and
|
| + an idempotent id is desirable for deduplication purpose, UUID version 5
|
| + is recommended. See RFC 4122 for details.
|
| + operationName: Fully qualified name of the operation. Example of an RPC
|
| + method name used as operation name:
|
| + google.example.library.v1.LibraryService.CreateShelf Example of a
|
| + service defined operation name:
|
| + compute.googleapis.com/InstanceHeartbeat
|
| + quotaProperties: Represents the properties needed for quota check.
|
| + Applicable only if this operation is for a quota check request.
|
| + startTime: Start time of the operation. Required.
|
| + """
|
| +
|
| + class ImportanceValueValuesEnum(_messages.Enum):
|
| + """The importance of the data contained in the operation.
|
| +
|
| + Values:
|
| + LOW: The operation doesn't contain significant monetary value or audit
|
| + trail. The API implementation may cache and aggregate the data. There
|
| + is no deduplication based on `operation_id`. The data may be lost when
|
| + rare and unexpected system failures occur.
|
| + HIGH: The operation contains significant monetary value or audit trail.
|
| + The API implementation doesn't cache and aggregate the data.
|
| + Deduplication based on `operation_id` is performed for monetary
|
| + values. If the method returns successfully, it's guaranteed that the
|
| + data are persisted in durable storage.
|
| + """
|
| + LOW = 0
|
| + HIGH = 1
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class LabelsValue(_messages.Message):
|
| + """Labels describing the operation. Only the following labels are allowed:
|
| + Labels describing the monitored resource. The labels must be defined in
|
| + the service configuration. Default labels of the metric values. When
|
| + specified, labels defined in the metric value overrule. Labels are
|
| + defined and documented by Google Cloud Platform. For example:
|
| + `cloud.googleapis.com/location: "us-east1"`.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Additional properties of type LabelsValue
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a LabelsValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A string attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.StringField(2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + consumerId = _messages.StringField(1)
|
| + endTime = _messages.StringField(2)
|
| + importance = _messages.EnumField('ImportanceValueValuesEnum', 3)
|
| + labels = _messages.MessageField('LabelsValue', 4)
|
| + logEntries = _messages.MessageField('LogEntry', 5, repeated=True)
|
| + metricValueSets = _messages.MessageField('MetricValueSet', 6, repeated=True)
|
| + operationId = _messages.StringField(7)
|
| + operationName = _messages.StringField(8)
|
| + quotaProperties = _messages.MessageField('QuotaProperties', 9)
|
| + startTime = _messages.StringField(10)
|
| +
|
| +
|
| +class Option(_messages.Message):
|
| + """A protocol buffer option, which can be attached to a message, field,
|
| + enumeration, etc.
|
| +
|
| + Messages:
|
| + ValueValue: The option's value. For example, `"com.google.protobuf"`.
|
| +
|
| + Fields:
|
| + name: The option's name. For example, `"java_package"`.
|
| + value: The option's value. For example, `"com.google.protobuf"`.
|
| + """
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class ValueValue(_messages.Message):
|
| + """The option's value. For example, `"com.google.protobuf"`.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a ValueValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Properties of the object. Contains field @ype with
|
| + type URL.
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a ValueValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A extra_types.JsonValue attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.MessageField('extra_types.JsonValue', 2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + name = _messages.StringField(1)
|
| + value = _messages.MessageField('ValueValue', 2)
|
| +
|
| +
|
| +class Page(_messages.Message):
|
| + """Represents a documentation page. A page can contain subpages to represent
|
| + nested documentation set structure.
|
| +
|
| + Fields:
|
| + content: The Markdown content of the page. You can use <code>(==
|
| + include {path} ==)</code> to include content from a Markdown file.
|
| + name: The name of the page. It will be used as an identity of the page to
|
| + generate URI of the page, text of the link to this page in navigation,
|
| + etc. The full page name (start from the root page name to this page
|
| + concatenated with `.`) can be used as reference to the page in your
|
| + documentation. For example: <pre><code>pages: - name: Tutorial
|
| + content: (== include tutorial.md ==) subpages: - name: Java
|
| + content: (== include tutorial_java.md ==) </code></pre> You can
|
| + reference `Java` page using Markdown reference link syntax: `Java`.
|
| + subpages: Subpages of this page. The order of subpages specified here will
|
| + be honored in the generated docset.
|
| + """
|
| +
|
| + content = _messages.StringField(1)
|
| + name = _messages.StringField(2)
|
| + subpages = _messages.MessageField('Page', 3, repeated=True)
|
| +
|
| +
|
| +class ProjectProperties(_messages.Message):
|
| + """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 associated with a school, or a business, or a government
|
| + agency, a business type property on the project may affect how a service
|
| + responds to the client. This descriptor defines which properties are allowed
|
| + to be set on a project. Example: project_properties: properties:
|
| + - name: NO_WATERMARK type: BOOL description: Allows usage of
|
| + the API without watermarks. - name: EXTENDED_TILE_CACHE_PERIOD
|
| + type: INT64
|
| +
|
| + Fields:
|
| + properties: List of per consumer project-specific properties.
|
| + """
|
| +
|
| + properties = _messages.MessageField('Property', 1, repeated=True)
|
| +
|
| +
|
| +class Property(_messages.Message):
|
| + """Defines project properties. API services can define properties that can
|
| + be assigned to consumer projects so that backends can perform response
|
| + customization without having to make additional calls or maintain additional
|
| + storage. For example, Maps API defines properties that controls map tile
|
| + cache period, or whether to embed a watermark in a result. These values can
|
| + be set via API producer console. Only API providers can define and set these
|
| + properties.
|
| +
|
| + Enums:
|
| + TypeValueValuesEnum: The type of this property.
|
| +
|
| + Fields:
|
| + description: The description of the property
|
| + name: The name of the property (a.k.a key).
|
| + type: The type of this property.
|
| + """
|
| +
|
| + class TypeValueValuesEnum(_messages.Enum):
|
| + """The type of this property.
|
| +
|
| + Values:
|
| + UNSPECIFIED: The type is unspecified, and will result in an error.
|
| + INT64: The type is `int64`.
|
| + BOOL: The type is `bool`.
|
| + STRING: The type is `string`.
|
| + DOUBLE: The type is 'double'.
|
| + """
|
| + UNSPECIFIED = 0
|
| + INT64 = 1
|
| + BOOL = 2
|
| + STRING = 3
|
| + DOUBLE = 4
|
| +
|
| + description = _messages.StringField(1)
|
| + name = _messages.StringField(2)
|
| + type = _messages.EnumField('TypeValueValuesEnum', 3)
|
| +
|
| +
|
| +class Quota(_messages.Message):
|
| + """Quota configuration helps to achieve fairness and budgeting in service
|
| + usage. - Fairness is achieved through the use of short-term quota limits
|
| + that are usually defined over a time window of several seconds or minutes.
|
| + When such a limit is applied, for example at the user level, it ensures
|
| + that no single user will monopolize the service or a given customer's
|
| + allocated portion of it. - Budgeting is achieved through the use of long-
|
| + term quota limits that are usually defined over a time window of one or
|
| + more days. These limits help client application developers predict the
|
| + usage and help budgeting. Quota enforcement uses a simple token-based
|
| + algorithm for resource sharing. The quota configuration structure is as
|
| + follows: - `QuotaLimit` defines a single enforceable limit with a specified
|
| + token amount that can be consumed over a specific duration and applies to
|
| + a particular entity, like a project or an end user. If the limit applies
|
| + to a user, each user making the request will get the specified number of
|
| + tokens to consume. When the tokens run out, the requests from that user
|
| + will be blocked until the duration elapses and the next duration window
|
| + starts. - `QuotaGroup` groups a set of quota limits. - `QuotaRule` maps a
|
| + method to a set of quota groups. This allows sharing of quota groups
|
| + across methods as well as one method consuming tokens from more than one
|
| + quota group. When a group contains multiple limits, requests to a method
|
| + consuming tokens from that group must satisfy all the limits in that
|
| + group. Example: quota: groups: - name: ReadGroup
|
| + limits: - description: Daily Limit name: ProjectQpd
|
| + default_limit: 10000 duration: 1d limit_by:
|
| + CLIENT_PROJECT - description: Per-second Limit name:
|
| + UserQps default_limit: 20000 duration: 100s
|
| + limit_by: USER - name: WriteGroup limits: -
|
| + description: Daily Limit name: ProjectQpd default_limit:
|
| + 1000 max_limit: 1000 duration: 1d limit_by:
|
| + CLIENT_PROJECT - description: Per-second Limit name:
|
| + UserQps default_limit: 2000 max_limit: 4000
|
| + duration: 100s limit_by: USER rules: - selector: "*"
|
| + groups: - group: ReadGroup - selector:
|
| + google.calendar.Calendar.Update groups: - group: WriteGroup
|
| + cost: 2 - selector: google.calendar.Calendar.Delete groups:
|
| + - group: WriteGroup Here, the configuration defines two quota groups:
|
| + ReadGroup and WriteGroup, each defining its own daily and per-second limits.
|
| + Note that One Platform enforces per-second limits averaged over a duration
|
| + of 100 seconds. The rules map ReadGroup for all methods, except for the
|
| + Update and Delete methods. These two methods consume from WriteGroup, with
|
| + Update method consuming at twice the rate as Delete method. Multiple quota
|
| + groups can be specified for a method. The quota limits in all of those
|
| + groups will be enforced. Example: quota: groups: - name:
|
| + WriteGroup limits: - description: Daily Limit
|
| + name: ProjectQpd default_limit: 1000 max_limit: 1000
|
| + duration: 1d limit_by: CLIENT_PROJECT - description: Per-
|
| + second Limit name: UserQps default_limit: 2000
|
| + max_limit: 4000 duration: 100s limit_by: USER -
|
| + name: StorageGroup limits: - description: Storage Quota
|
| + name: StorageQuota default_limit: 1000 duration: 0
|
| + limit_by: USER rules: - selector:
|
| + google.calendar.Calendar.Create groups: - group:
|
| + StorageGroup - group: WriteGroup - selector:
|
| + google.calendar.Calendar.Delete groups: - group:
|
| + StorageGroup In the above example, the Create and Delete methods manage the
|
| + user's storage space. In addition, Create method uses WriteGroup to manage
|
| + the requests. In this case, requests to Create method need to satisfy all
|
| + quota limits defined in both quota groups. One can disable quota for
|
| + selected method(s) identified by the selector by setting disable_quota to
|
| + ture. For example, rules: - selector: "*" group:
|
| + - group ReadGroup - selector: google.calendar.Calendar.Select
|
| + disable_quota: true
|
| +
|
| + Fields:
|
| + groups: List of `QuotaGroup` definitions for the service.
|
| + rules: List of `QuotaRule` definitions, each one mapping a selected method
|
| + to one or more quota groups.
|
| + """
|
| +
|
| + groups = _messages.MessageField('QuotaGroup', 1, repeated=True)
|
| + rules = _messages.MessageField('QuotaRule', 2, repeated=True)
|
| +
|
| +
|
| +class QuotaGroup(_messages.Message):
|
| + """`QuotaGroup` defines a set of quota limits to enforce.
|
| +
|
| + Fields:
|
| + billable: Indicates if the quota limits defined in this quota group apply
|
| + to consumers who have active billing. Quota limits defined in billable
|
| + groups will be applied only to consumers who have active billing. The
|
| + amount of tokens consumed from billable quota group will also be
|
| + reported for billing. Quota limits defined in non-billable groups will
|
| + be applied only to consumers who have no active billing.
|
| + description: User-visible description of this quota group.
|
| + limits: Quota limits to be enforced when this quota group is used. A
|
| + request must satisfy all the limits in a group for it to be permitted.
|
| + name: Name of this quota group. Must be unique within the service. Quota
|
| + group name is used as part of the id for quota limits. Once the quota
|
| + group has been put into use, the name of the quota group should be
|
| + immutable.
|
| + """
|
| +
|
| + billable = _messages.BooleanField(1)
|
| + description = _messages.StringField(2)
|
| + limits = _messages.MessageField('QuotaLimit', 3, repeated=True)
|
| + name = _messages.StringField(4)
|
| +
|
| +
|
| +class QuotaGroupMapping(_messages.Message):
|
| + """A quota group mapping.
|
| +
|
| + Fields:
|
| + cost: Number of tokens to consume for each request. This allows different
|
| + cost to be associated with different methods that consume from the same
|
| + quota group. By default, each request will cost one token.
|
| + group: The `QuotaGroup.name` of the group. Requests for the mapped methods
|
| + will consume tokens from each of the limits defined in this group.
|
| + """
|
| +
|
| + cost = _messages.IntegerField(1, variant=_messages.Variant.INT32)
|
| + group = _messages.StringField(2)
|
| +
|
| +
|
| +class QuotaLimit(_messages.Message):
|
| + """`QuotaLimit` defines a specific limit that applies over a specified
|
| + duration for a limit type. There can be at most one limit for a duration and
|
| + limit type combination defined within a `QuotaGroup`.
|
| +
|
| + Enums:
|
| + LimitByValueValuesEnum: Limit type to use for enforcing this quota limit.
|
| + Each unique value gets the defined number of tokens to consume from. For
|
| + a quota limit that uses user type, each user making requests through the
|
| + same client application project will get his/her own pool of tokens to
|
| + consume, whereas for a limit that uses client project type, all users
|
| + making requests through the same client application project share a
|
| + single pool of tokens.
|
| +
|
| + Fields:
|
| + defaultLimit: Default number of tokens that can be consumed during the
|
| + specified duration. This is the number of tokens assigned when a client
|
| + application developer activates the service for his/her project.
|
| + Specifying a value of 0 will block all requests. This can be used if you
|
| + are provisioning quota to selected consumers and blocking others.
|
| + Similarly, a value of -1 will indicate an unlimited quota. No other
|
| + negative values are allowed.
|
| + description: Optional. User-visible, extended description for this quota
|
| + limit. Should be used only when more context is needed to understand
|
| + this limit than provided by the limit's display name (see:
|
| + `display_name`).
|
| + displayName: User-visible display name for this limit. Optional. If not
|
| + set, the UI will provide a default display name based on the quota
|
| + configuration. This field can be used to override the default display
|
| + name generated from the configuration.
|
| + duration: 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.
|
| + freeTier: Free tier value displayed in the Developers Console for this
|
| + limit. The free tier is the number of tokens that will be subtracted
|
| + from the billed amount when billing is enabled. This field can only be
|
| + set on a limit with duration "1d", in a billable group; it is invalid on
|
| + any other limit. If this field is not set, it defaults to 0, indicating
|
| + that there is no free tier for this service.
|
| + limitBy: Limit type to use for enforcing this quota limit. Each unique
|
| + value gets the defined number of tokens to consume from. For a quota
|
| + limit that uses user type, each user making requests through the same
|
| + client application project will get his/her own pool of tokens to
|
| + consume, whereas for a limit that uses client project type, all users
|
| + making requests through the same client application project share a
|
| + single pool of tokens.
|
| + maxLimit: Maximum number of tokens that can be consumed during the
|
| + specified duration. Client application developers can override the
|
| + default limit up to this maximum. If specified, this value cannot be set
|
| + to a value less than the default limit. If not specified, it is set to
|
| + the default limit. To allow clients to apply overrides with no upper
|
| + bound, set this to -1, indicating unlimited maximum quota.
|
| + name: Name of the quota limit. Must be unique within the quota group.
|
| + This name is used to refer to the limit when overriding the limit on a
|
| + per-project basis. If a name is not provided, it will be generated from
|
| + the limit_by and duration fields. 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.
|
| + """
|
| +
|
| + class LimitByValueValuesEnum(_messages.Enum):
|
| + """Limit type to use for enforcing this quota limit. Each unique value
|
| + gets the defined number of tokens to consume from. For a quota limit that
|
| + uses user type, each user making requests through the same client
|
| + application project will get his/her own pool of tokens to consume,
|
| + whereas for a limit that uses client project type, all users making
|
| + requests through the same client application project share a single pool
|
| + of tokens.
|
| +
|
| + Values:
|
| + CLIENT_PROJECT: ID of the project owned by the client application
|
| + developer making the request.
|
| + USER: ID of the end user making the request using the client
|
| + application.
|
| + """
|
| + CLIENT_PROJECT = 0
|
| + USER = 1
|
| +
|
| + defaultLimit = _messages.IntegerField(1)
|
| + description = _messages.StringField(2)
|
| + displayName = _messages.StringField(3)
|
| + duration = _messages.StringField(4)
|
| + freeTier = _messages.IntegerField(5)
|
| + limitBy = _messages.EnumField('LimitByValueValuesEnum', 6)
|
| + maxLimit = _messages.IntegerField(7)
|
| + name = _messages.StringField(8)
|
| +
|
| +
|
| +class QuotaProperties(_messages.Message):
|
| + """Represents the properties needed for quota operations. Use the
|
| + metric_value_sets field in Operation message to provide cost override with
|
| + metric_name in <service_name>/quota/<quota_group_name>/cost format.
|
| + Overrides for unmatched quota groups will be ignored. Costs are expected to
|
| + be >= 0. Cost 0 will cause no quota check, but still traffic restrictions
|
| + will be enforced.
|
| +
|
| + Enums:
|
| + QuotaModeValueValuesEnum: Quota mode for this operation.
|
| +
|
| + Messages:
|
| + LimitByIdsValue: LimitType IDs that should be used for checking quota. Key
|
| + in this map should be a valid LimitType string, and the value is the ID
|
| + to be used. For ex., an entry <USER, 123> will cause all user quota
|
| + limits to use 123 as the user ID. See google/api/quota.proto for the
|
| + definition of LimitType. CLIENT_PROJECT: Not supported. USER: Value of
|
| + this entry will be used for enforcing user-level quota limits. If
|
| + none specified, caller IP passed in the
|
| + servicecontrol.googleapis.com/caller_ip label will be used instead.
|
| + If the server cannot resolve a value for this LimitType, an error
|
| + will be thrown. No validation will be performed on this ID.
|
| +
|
| + Fields:
|
| + limitByIds: LimitType IDs that should be used for checking quota. Key in
|
| + this map should be a valid LimitType string, and the value is the ID to
|
| + be used. For ex., an entry <USER, 123> will cause all user quota limits
|
| + to use 123 as the user ID. See google/api/quota.proto for the definition
|
| + of LimitType. CLIENT_PROJECT: Not supported. USER: Value of this entry
|
| + will be used for enforcing user-level quota limits. If none
|
| + specified, caller IP passed in the
|
| + servicecontrol.googleapis.com/caller_ip label will be used instead.
|
| + If the server cannot resolve a value for this LimitType, an error
|
| + will be thrown. No validation will be performed on this ID.
|
| + quotaMode: Quota mode for this operation.
|
| + """
|
| +
|
| + class QuotaModeValueValuesEnum(_messages.Enum):
|
| + """Quota mode for this operation.
|
| +
|
| + Values:
|
| + ACQUIRE: Decreases available quota by the cost specified for the
|
| + operation. If cost is higher than available quota, operation fails and
|
| + returns error.
|
| + ACQUIRE_BEST_EFFORT: Decreases available quota by the cost specified for
|
| + the operation. If cost is higher than available quota, operation does
|
| + not fail and available quota goes down to zero but it returns error.
|
| + CHECK: Does not change any available quota. Only checks if there is
|
| + enough quota. No lock is placed on the checked tokens neither.
|
| + RELEASE: Increases available quota by the operation cost specified for
|
| + the operation.
|
| + """
|
| + ACQUIRE = 0
|
| + ACQUIRE_BEST_EFFORT = 1
|
| + CHECK = 2
|
| + RELEASE = 3
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class LimitByIdsValue(_messages.Message):
|
| + """LimitType IDs that should be used for checking quota. Key in this map
|
| + should be a valid LimitType string, and the value is the ID to be used.
|
| + For ex., an entry <USER, 123> will cause all user quota limits to use 123
|
| + as the user ID. See google/api/quota.proto for the definition of
|
| + LimitType. CLIENT_PROJECT: Not supported. USER: Value of this entry will
|
| + be used for enforcing user-level quota limits. If none specified,
|
| + caller IP passed in the servicecontrol.googleapis.com/caller_ip
|
| + label will be used instead. If the server cannot resolve a value for
|
| + this LimitType, an error will be thrown. No validation will be
|
| + performed on this ID.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a LimitByIdsValue object.
|
| +
|
| + Fields:
|
| + additionalProperties: Additional properties of type LimitByIdsValue
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a LimitByIdsValue object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A string attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.StringField(2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + limitByIds = _messages.MessageField('LimitByIdsValue', 1)
|
| + quotaMode = _messages.EnumField('QuotaModeValueValuesEnum', 2)
|
| +
|
| +
|
| +class QuotaRule(_messages.Message):
|
| + """`QuotaRule` maps a method to a set of `QuotaGroup`s.
|
| +
|
| + Fields:
|
| + disableQuota: Indicates if quota checking should be enforced. Quota will
|
| + be disabled for methods without quota rules or with quota rules having
|
| + this field set to true. When this field is set to true, no quota group
|
| + mapping is allowed.
|
| + groups: Quota groups to be used for this method. This supports associating
|
| + a cost with each quota group.
|
| + selector: Selects methods to which this rule applies. Refer to selector
|
| + for syntax details.
|
| + """
|
| +
|
| + disableQuota = _messages.BooleanField(1)
|
| + groups = _messages.MessageField('QuotaGroupMapping', 2, repeated=True)
|
| + selector = _messages.StringField(3)
|
| +
|
| +
|
| +class ReportError(_messages.Message):
|
| + """Represents the processing error of one `Operation` in the request.
|
| +
|
| + Fields:
|
| + operationId: The Operation.operation_id value from the request.
|
| + status: Details of the error when processing the `Operation`.
|
| + """
|
| +
|
| + operationId = _messages.StringField(1)
|
| + status = _messages.MessageField('Status', 2)
|
| +
|
| +
|
| +class ReportRequest(_messages.Message):
|
| + """The request message of the Report method.
|
| +
|
| + Fields:
|
| + operations: Operations to be reported. Typically the service should
|
| + report one operation per request. Putting multiple operations into a
|
| + single request is allowed, but should be used only when multiple
|
| + operations are natually available at the time of the report. If
|
| + multiple operations are in a single request, the total request size
|
| + should be no larger than 1MB. See ReportResponse.report_errors for
|
| + partial failure behavior.
|
| + """
|
| +
|
| + operations = _messages.MessageField('Operation', 1, repeated=True)
|
| +
|
| +
|
| +class ReportResponse(_messages.Message):
|
| + """The response message of the Report method.
|
| +
|
| + Fields:
|
| + reportErrors: The partial failures, one for each `Operation` in the
|
| + request that failed processing. There are three possible combinations of
|
| + the RPC status and this list: 1. The combination of a successful RPC
|
| + status and an empty `report_errors` list indicates a complete success
|
| + where all `Operation`s in the request are processed successfully. 2.
|
| + The combination of a successful RPC status and a non-empty
|
| + `report_errors` list indicates a partial success where some
|
| + `Operation`s in the request are processed successfully. Each
|
| + `Operation` that failed processing has a corresponding item in this
|
| + list. 3. A failed RPC status indicates a complete failure where none of
|
| + the `Operation`s in the request is processed successfully.
|
| + """
|
| +
|
| + reportErrors = _messages.MessageField('ReportError', 1, repeated=True)
|
| +
|
| +
|
| +class Service(_messages.Message):
|
| + """`Service` is the root object of the configuration schema. It describes
|
| + basic information like the name of the service and the exposed API
|
| + interfaces, and delegates other aspects to configuration sub-sections.
|
| + Example: type: google.api.Service config_version: 1 name:
|
| + calendar.googleapis.com title: Google Calendar API apis: - name:
|
| + google.calendar.Calendar backend: rules: - selector: "*"
|
| + address: calendar.example.com
|
| +
|
| + Fields:
|
| + apis: A list of API interfaces exported by this service. Only the `name`
|
| + field of the google.protobuf.Api needs to be provided by the
|
| + configuration author, as the remaining fields will be derived from the
|
| + IDL during the normalization process. It is an error to specify an API
|
| + interface here which cannot be resolved against the associated IDL
|
| + files.
|
| + authentication: Auth configuration.
|
| + backend: API backend configuration.
|
| + billing: Billing configuration of the service.
|
| + configVersion: The version of the service configuration. The config
|
| + version may influence interpretation of the configuration, for example,
|
| + to determine defaults. This is documented together with applicable
|
| + options. The current default for the config version itself is `3`.
|
| + context: Context configuration.
|
| + control: Configuration for the service control plane.
|
| + customError: Custom error configuration.
|
| + documentation: Additional API documentation.
|
| + enums: A list of all enum types included in this API service. Enums
|
| + referenced directly or indirectly by the `apis` are automatically
|
| + included. Enums which are not referenced but shall be included should
|
| + be listed here by name. Example: enums: - name:
|
| + google.someapi.v1.SomeEnum
|
| + http: HTTP configuration.
|
| + id: 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.
|
| + logging: Logging configuration of the service.
|
| + logs: Defines the logs used by this service.
|
| + metrics: Defines the metrics used by this service.
|
| + monitoredResources: Defines the monitored resources used by this service.
|
| + This is required by the Service.monitoring and Service.logging
|
| + configurations.
|
| + monitoring: Monitoring configuration of the service.
|
| + name: The DNS address at which this service is available, e.g.
|
| + `calendar.googleapis.com`.
|
| + producerProjectId: The id of the Google developer project that owns the
|
| + service. Members of this project can manage the service configuration,
|
| + manage consumption of the service, etc.
|
| + projectProperties: Configuration of per-consumer project properties.
|
| + quota: Quota configuration.
|
| + systemParameters: Configuration for system parameters.
|
| + systemTypes: A list of all proto message types included in this API
|
| + service. It serves similar purpose as [google.api.Service.types], except
|
| + that these types are not needed by user-defined APIs. Therefore, they
|
| + will not show up in the generated discovery doc. This field should only
|
| + be used to define system APIs in ESF.
|
| + title: The product title associated with this service.
|
| + types: A list of all proto message types included in this API service.
|
| + Types referenced directly or indirectly by the `apis` are automatically
|
| + included. Messages which are not referenced but shall be included, such
|
| + as types used by the `google.protobuf.Any` type, should be listed here
|
| + by name. Example: types: - name: google.protobuf.Int32
|
| + usage: Configuration controlling usage of this service.
|
| + visibility: API visibility configuration.
|
| + """
|
| +
|
| + apis = _messages.MessageField('Api', 1, repeated=True)
|
| + authentication = _messages.MessageField('Authentication', 2)
|
| + backend = _messages.MessageField('Backend', 3)
|
| + billing = _messages.MessageField('Billing', 4)
|
| + configVersion = _messages.IntegerField(5, variant=_messages.Variant.UINT32)
|
| + context = _messages.MessageField('Context', 6)
|
| + control = _messages.MessageField('Control', 7)
|
| + customError = _messages.MessageField('CustomError', 8)
|
| + documentation = _messages.MessageField('Documentation', 9)
|
| + enums = _messages.MessageField('Enum', 10, repeated=True)
|
| + http = _messages.MessageField('Http', 11)
|
| + id = _messages.StringField(12)
|
| + logging = _messages.MessageField('Logging', 13)
|
| + logs = _messages.MessageField('LogDescriptor', 14, repeated=True)
|
| + metrics = _messages.MessageField('MetricDescriptor', 15, repeated=True)
|
| + monitoredResources = _messages.MessageField('MonitoredResourceDescriptor', 16, repeated=True)
|
| + monitoring = _messages.MessageField('Monitoring', 17)
|
| + name = _messages.StringField(18)
|
| + producerProjectId = _messages.StringField(19)
|
| + projectProperties = _messages.MessageField('ProjectProperties', 20)
|
| + quota = _messages.MessageField('Quota', 21)
|
| + systemParameters = _messages.MessageField('SystemParameters', 22)
|
| + systemTypes = _messages.MessageField('Type', 23, repeated=True)
|
| + title = _messages.StringField(24)
|
| + types = _messages.MessageField('Type', 25, repeated=True)
|
| + usage = _messages.MessageField('Usage', 26)
|
| + visibility = _messages.MessageField('Visibility', 27)
|
| +
|
| +
|
| +class ServicecontrolServicesCheckRequest(_messages.Message):
|
| + """A ServicecontrolServicesCheckRequest object.
|
| +
|
| + Fields:
|
| + checkRequest: A CheckRequest resource to be passed as the request body.
|
| + serviceName: The service name. The DNS address at which this service is
|
| + available, such as `"pubsub.googleapis.com"`. Please see
|
| + `google.api.Service` for the definition of service name.
|
| + """
|
| +
|
| + checkRequest = _messages.MessageField('CheckRequest', 1)
|
| + serviceName = _messages.StringField(2, required=True)
|
| +
|
| +
|
| +class ServicecontrolServicesReportRequest(_messages.Message):
|
| + """A ServicecontrolServicesReportRequest object.
|
| +
|
| + Fields:
|
| + reportRequest: A ReportRequest resource to be passed as the request body.
|
| + serviceName: The service name. The DNS address at which this service is
|
| + available, such as `"pubsub.googleapis.com"`. Please see
|
| + `google.api.Service` for the definition of service name.
|
| + """
|
| +
|
| + reportRequest = _messages.MessageField('ReportRequest', 1)
|
| + serviceName = _messages.StringField(2, required=True)
|
| +
|
| +
|
| +class SourceContext(_messages.Message):
|
| + """`SourceContext` represents information about the source of a protobuf
|
| + element, like the file in which it is defined.
|
| +
|
| + Fields:
|
| + fileName: The path-qualified name of the .proto file that contained the
|
| + associated protobuf element. For example:
|
| + `"google/protobuf/source.proto"`.
|
| + """
|
| +
|
| + fileName = _messages.StringField(1)
|
| +
|
| +
|
| +class StandardQueryParameters(_messages.Message):
|
| + """Query parameters accepted by all methods.
|
| +
|
| + Enums:
|
| + FXgafvValueValuesEnum: V1 error format.
|
| + AltValueValuesEnum: Data format for response.
|
| +
|
| + Fields:
|
| + f__xgafv: V1 error format.
|
| + access_token: OAuth access token.
|
| + alt: Data format for response.
|
| + bearer_token: OAuth bearer token.
|
| + callback: JSONP
|
| + fields: Selector specifying which fields to include in a partial response.
|
| + key: API key. Your API key identifies your project and provides you with
|
| + API access, quota, and reports. Required unless you provide an OAuth 2.0
|
| + token.
|
| + oauth_token: OAuth 2.0 token for the current user.
|
| + pp: Pretty-print response.
|
| + prettyPrint: Returns response with indentations and line breaks.
|
| + quotaUser: Available to use for quota purposes for server-side
|
| + applications. Can be any arbitrary string assigned to a user, but should
|
| + not exceed 40 characters.
|
| + trace: A tracing token of the form "token:<tokenid>" to include in api
|
| + requests.
|
| + uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
|
| + upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
|
| + """
|
| +
|
| + class AltValueValuesEnum(_messages.Enum):
|
| + """Data format for response.
|
| +
|
| + Values:
|
| + json: Responses with Content-Type of application/json
|
| + media: Media download with context-dependent Content-Type
|
| + proto: Responses with Content-Type of application/x-protobuf
|
| + """
|
| + json = 0
|
| + media = 1
|
| + proto = 2
|
| +
|
| + class FXgafvValueValuesEnum(_messages.Enum):
|
| + """V1 error format.
|
| +
|
| + Values:
|
| + _1: v1 error format
|
| + _2: v2 error format
|
| + """
|
| + _1 = 0
|
| + _2 = 1
|
| +
|
| + f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
|
| + access_token = _messages.StringField(2)
|
| + alt = _messages.EnumField('AltValueValuesEnum', 3, default=u'json')
|
| + bearer_token = _messages.StringField(4)
|
| + callback = _messages.StringField(5)
|
| + fields = _messages.StringField(6)
|
| + key = _messages.StringField(7)
|
| + oauth_token = _messages.StringField(8)
|
| + pp = _messages.BooleanField(9, default=True)
|
| + prettyPrint = _messages.BooleanField(10, default=True)
|
| + quotaUser = _messages.StringField(11)
|
| + trace = _messages.StringField(12)
|
| + uploadType = _messages.StringField(13)
|
| + upload_protocol = _messages.StringField(14)
|
| +
|
| +
|
| +class Status(_messages.Message):
|
| + """The `Status` type defines a logical error model that is suitable for
|
| + different programming environments, including REST APIs and RPC APIs. It is
|
| + used by [gRPC](https://github.com/grpc). The error model is designed to be:
|
| + - Simple to use and understand for most users - Flexible enough to meet
|
| + unexpected needs # Overview The `Status` message contains three pieces of
|
| + data: error code, error message, and error details. The error code should be
|
| + an enum value of google.rpc.Code, but it may accept additional error codes
|
| + if needed. The error message should be a developer-facing English message
|
| + that helps developers *understand* and *resolve* the error. If a localized
|
| + user-facing error message is needed, put the localized message in the error
|
| + details or localize it in the client. The optional error details may contain
|
| + arbitrary information about the error. There is a predefined set of error
|
| + detail types in the package `google.rpc` which can be used for common error
|
| + conditions. # Language mapping The `Status` message is the logical
|
| + representation of the error model, but it is not necessarily the actual wire
|
| + format. When the `Status` message is exposed in different client libraries
|
| + and different wire protocols, it can be mapped differently. For example, it
|
| + will likely be mapped to some exceptions in Java, but more likely mapped to
|
| + some error codes in C. # Other uses The error model and the `Status`
|
| + message can be used in a variety of environments, either with or without
|
| + APIs, to provide a consistent developer experience across different
|
| + environments. Example uses of this error model include: - Partial errors.
|
| + If a service needs to return partial errors to the client, it may embed
|
| + the `Status` in the normal response to indicate the partial errors. -
|
| + Workflow errors. A typical workflow has multiple steps. Each step may
|
| + have a `Status` message for error reporting purpose. - Batch operations. If
|
| + a client uses batch request and batch response, the `Status` message
|
| + should be used directly inside batch response, one for each error sub-
|
| + response. - Asynchronous operations. If an API call embeds asynchronous
|
| + operation results in its response, the status of those operations should
|
| + be represented directly using the `Status` message. - Logging. If some
|
| + API errors are stored in logs, the message `Status` could be used
|
| + directly after any stripping needed for security/privacy reasons.
|
| +
|
| + Messages:
|
| + DetailsValueListEntry: A DetailsValueListEntry object.
|
| +
|
| + Fields:
|
| + code: The status code, which should be an enum value of google.rpc.Code.
|
| + details: A list of messages that carry the error details. There will be a
|
| + common set of message types for APIs to use.
|
| + message: A developer-facing error message, which should be in English. Any
|
| + user-facing error message should be localized and sent in the
|
| + google.rpc.Status.details field, or localized by the client.
|
| + """
|
| +
|
| + @encoding.MapUnrecognizedFields('additionalProperties')
|
| + class DetailsValueListEntry(_messages.Message):
|
| + """A DetailsValueListEntry object.
|
| +
|
| + Messages:
|
| + AdditionalProperty: An additional property for a DetailsValueListEntry
|
| + object.
|
| +
|
| + Fields:
|
| + additionalProperties: Properties of the object. Contains field @ype with
|
| + type URL.
|
| + """
|
| +
|
| + class AdditionalProperty(_messages.Message):
|
| + """An additional property for a DetailsValueListEntry object.
|
| +
|
| + Fields:
|
| + key: Name of the additional property.
|
| + value: A extra_types.JsonValue attribute.
|
| + """
|
| +
|
| + key = _messages.StringField(1)
|
| + value = _messages.MessageField('extra_types.JsonValue', 2)
|
| +
|
| + additionalProperties = _messages.MessageField('AdditionalProperty', 1, repeated=True)
|
| +
|
| + code = _messages.IntegerField(1, variant=_messages.Variant.INT32)
|
| + details = _messages.MessageField('DetailsValueListEntry', 2, repeated=True)
|
| + message = _messages.StringField(3)
|
| +
|
| +
|
| +class SystemParameter(_messages.Message):
|
| + """Define a parameter's name and location. The parameter may be passed as
|
| + either an HTTP header or a URL query parameter, and if both are passed the
|
| + behavior is implementation-dependent.
|
| +
|
| + Fields:
|
| + httpHeader: Define the HTTP header name to use for the parameter. It is
|
| + case insensitive.
|
| + name: Define the name of the parameter, such as "api_key", "alt",
|
| + "callback", and etc. It is case sensitive.
|
| + urlQueryParameter: Define the URL query parameter name to use for the
|
| + parameter. It is case sensitive.
|
| + """
|
| +
|
| + httpHeader = _messages.StringField(1)
|
| + name = _messages.StringField(2)
|
| + urlQueryParameter = _messages.StringField(3)
|
| +
|
| +
|
| +class SystemParameterRule(_messages.Message):
|
| + """Define a system parameter rule mapping system parameter definitions to
|
| + methods.
|
| +
|
| + Fields:
|
| + parameters: Define parameters. Multiple names may be defined for a
|
| + parameter. For a given method call, only one of them should be used. If
|
| + multiple names are used the behavior is implementation-dependent. If
|
| + none of the specified names are present the behavior is parameter-
|
| + dependent.
|
| + selector: Selects the methods to which this rule applies. Use '*' to
|
| + indicate all methods in all APIs. Refer to selector for syntax details.
|
| + """
|
| +
|
| + parameters = _messages.MessageField('SystemParameter', 1, repeated=True)
|
| + selector = _messages.StringField(2)
|
| +
|
| +
|
| +class SystemParameters(_messages.Message):
|
| + """### System parameter configuration A system parameter is a special kind
|
| + of parameter defined by the API system, not by an individual API. It is
|
| + typically mapped to an HTTP header and/or a URL query parameter. This
|
| + configuration specifies which methods change the names of the system
|
| + parameters.
|
| +
|
| + Fields:
|
| + rules: Define system parameters. The parameters defined here will
|
| + override the default parameters implemented by the system. If this field
|
| + is missing from the service config, default system parameters will be
|
| + used. Default system parameters and names is implementation-dependent.
|
| + Example: define api key and alt name for all methods SystemParameters
|
| + rules: - selector: "*" parameters: - name: api_key
|
| + url_query_parameter: api_key - name: alt http_header:
|
| + Response-Content-Type Example: define 2 api key names for a specific
|
| + method. SystemParameters rules: - selector: "/ListShelves"
|
| + parameters: - name: api_key http_header: Api-Key1
|
| + - name: api_key http_header: Api-Key2
|
| + """
|
| +
|
| + rules = _messages.MessageField('SystemParameterRule', 1, repeated=True)
|
| +
|
| +
|
| +class Type(_messages.Message):
|
| + """A protocol buffer message type.
|
| +
|
| + Enums:
|
| + SyntaxValueValuesEnum: The source syntax.
|
| +
|
| + Fields:
|
| + fields: The list of fields.
|
| + name: The fully qualified message name.
|
| + oneofs: The list of types appearing in `oneof` definitions in this type.
|
| + options: The protocol buffer options.
|
| + sourceContext: The source context.
|
| + syntax: The source syntax.
|
| + """
|
| +
|
| + class SyntaxValueValuesEnum(_messages.Enum):
|
| + """The source syntax.
|
| +
|
| + Values:
|
| + SYNTAX_PROTO2: Syntax `proto2`.
|
| + SYNTAX_PROTO3: Syntax `proto3`.
|
| + """
|
| + SYNTAX_PROTO2 = 0
|
| + SYNTAX_PROTO3 = 1
|
| +
|
| + fields = _messages.MessageField('Field', 1, repeated=True)
|
| + name = _messages.StringField(2)
|
| + oneofs = _messages.StringField(3, repeated=True)
|
| + options = _messages.MessageField('Option', 4, repeated=True)
|
| + sourceContext = _messages.MessageField('SourceContext', 5)
|
| + syntax = _messages.EnumField('SyntaxValueValuesEnum', 6)
|
| +
|
| +
|
| +class Usage(_messages.Message):
|
| + """Configuration controlling usage of a service.
|
| +
|
| + Enums:
|
| + ServiceAccessValueValuesEnum: Controls which users can see or activate the
|
| + service.
|
| +
|
| + Fields:
|
| + activationHooks: Services that must be contacted before a consumer can
|
| + begin using the service. Each service will be contacted in sequence,
|
| + and, if any activation call fails, the entire activation will fail. Each
|
| + hook is of the form <service.name>/<hook-id>, where <hook-id> is
|
| + optional; for example: 'robotservice.googleapis.com/default'.
|
| + deactivationHooks: Services that must be contacted before a consumer can
|
| + deactivate a service. Each service will be contacted in sequence, and,
|
| + if any deactivation call fails, the entire deactivation will fail. Each
|
| + hook is of the form <service.name>/<hook-id>, where <hook-id> is
|
| + optional; for example: 'compute.googleapis.com/'.
|
| + dependsOnServices: Services that must be activated in order for this
|
| + service to be used. The set of services activated as a result of these
|
| + relations are all activated in parallel with no guaranteed order of
|
| + activation. Each string is a service name, e.g.
|
| + `calendar.googleapis.com`.
|
| + requirements: 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'.
|
| + rules: Individual rules for configuring usage on selected methods.
|
| + serviceAccess: Controls which users can see or activate the service.
|
| + """
|
| +
|
| + class ServiceAccessValueValuesEnum(_messages.Enum):
|
| + """Controls which users can see or activate the service.
|
| +
|
| + Values:
|
| + RESTRICTED: The service can only be seen/used by users identified in the
|
| + service's access control policy. If the service has not been
|
| + whitelisted by your domain administrator for out-of-org publishing,
|
| + then this mode will be treated like ORG_RESTRICTED.
|
| + PUBLIC: The service can be seen/used by anyone. If the service has not
|
| + been whitelisted by your domain administrator for out-of-org
|
| + publishing, then this mode will be treated like ORG_PUBLIC. The
|
| + discovery document for the service will also be public and allow
|
| + unregistered access.
|
| + ORG_RESTRICTED: The service can be seen/used by users identified in the
|
| + service's access control policy and they are within the organization
|
| + that owns the service. Access is further constrained to the group
|
| + controlled by the administrator of the project/org that owns the
|
| + service.
|
| + ORG_PUBLIC: The service can be seen/used by the group of users
|
| + controlled by the administrator of the project/org that owns the
|
| + service.
|
| + """
|
| + RESTRICTED = 0
|
| + PUBLIC = 1
|
| + ORG_RESTRICTED = 2
|
| + ORG_PUBLIC = 3
|
| +
|
| + activationHooks = _messages.StringField(1, repeated=True)
|
| + deactivationHooks = _messages.StringField(2, repeated=True)
|
| + dependsOnServices = _messages.StringField(3, repeated=True)
|
| + requirements = _messages.StringField(4, repeated=True)
|
| + rules = _messages.MessageField('UsageRule', 5, repeated=True)
|
| + serviceAccess = _messages.EnumField('ServiceAccessValueValuesEnum', 6)
|
| +
|
| +
|
| +class UsageRule(_messages.Message):
|
| + """Usage configuration rules for the service. NOTE: Under development.
|
| + Use this rule to configure unregistered calls for the service. Unregistered
|
| + calls are calls that do not contain consumer project identity. (Example:
|
| + calls that do not contain an API key). By default, API methods do not allow
|
| + unregistered calls, and each method call must be identified by a consumer
|
| + project identity. Use this rule to allow/disallow unregistered calls.
|
| + Example of an API that wants to allow unregistered calls for entire service.
|
| + usage: rules: - selector: "*" allow_unregistered_calls:
|
| + true Example of a method that wants to allow unregistered calls.
|
| + usage: rules: - selector:
|
| + "google.example.library.v1.LibraryService.CreateBook"
|
| + allow_unregistered_calls: true
|
| +
|
| + Fields:
|
| + allowUnregisteredCalls: True, if the method allows unregistered calls;
|
| + false otherwise.
|
| + selector: Selects the methods to which this rule applies. Use '*' to
|
| + indicate all methods in all APIs. Refer to selector for syntax details.
|
| + """
|
| +
|
| + allowUnregisteredCalls = _messages.BooleanField(1)
|
| + selector = _messages.StringField(2)
|
| +
|
| +
|
| +class Visibility(_messages.Message):
|
| + """`Visibility` defines restrictions for the visibility of service elements.
|
| + Restrictions are specified using visibility labels (e.g., TRUSTED_TESTER)
|
| + 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:
|
| + TRUSTED_TESTER - selector: google.calendar.Calendar.Delegate
|
| + restriction: GOOGLE_INTERNAL Here, all methods are publicly visible except
|
| + for the restricted methods EnhancedSearch and Delegate.
|
| +
|
| + Fields:
|
| + enforceRuntimeVisibility: Controls whether visibility rules are enforced
|
| + at runtime for requests to all APIs and methods. If true, requests
|
| + without method visibility will receive a NOT_FOUND error, and any non-
|
| + visible fields will be scrubbed from the response messages. In service
|
| + config version 0, the default is false. In later config versions, it's
|
| + true. Note, the `enforce_runtime_visibility` specified in a visibility
|
| + rule overrides this setting for the APIs or methods asscoiated with the
|
| + rule.
|
| + rules: A list of visibility rules providing visibility configuration for
|
| + individual API elements.
|
| + """
|
| +
|
| + enforceRuntimeVisibility = _messages.BooleanField(1)
|
| + rules = _messages.MessageField('VisibilityRule', 2, repeated=True)
|
| +
|
| +
|
| +class VisibilityRule(_messages.Message):
|
| + """A visibility rule provides visibility configuration for an individual API
|
| + element.
|
| +
|
| + Fields:
|
| + enforceRuntimeVisibility: Controls whether visibility is enforced at
|
| + runtime for requests to an API method. This setting has meaning only
|
| + when the selector applies to a method or an API. If true, requests
|
| + without method visibility will receive a NOT_FOUND error, and any non-
|
| + visible fields will be scrubbed from the response messages. The default
|
| + is determined by the value of
|
| + google.api.Visibility.enforce_runtime_visibility.
|
| + restriction: Lists the visibility labels for this rule. Any of the listed
|
| + labels grants visibility to the element. 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:
|
| + GOOGLE_INTERNAL, TRUSTED_TESTER Removing GOOGLE_INTERNAL from this
|
| + restriction will break clients that rely on this method and only had
|
| + access to it through GOOGLE_INTERNAL.
|
| + selector: Selects methods, messages, fields, enums, etc. to which this
|
| + rule applies. Refer to selector for syntax details.
|
| + """
|
| +
|
| + enforceRuntimeVisibility = _messages.BooleanField(1)
|
| + restriction = _messages.StringField(2)
|
| + selector = _messages.StringField(3)
|
| +
|
| +
|
| +encoding.AddCustomJsonFieldMapping(
|
| + StandardQueryParameters, 'f__xgafv', '$.xgafv',
|
| + package=u'servicecontrol')
|
| +encoding.AddCustomJsonEnumMapping(
|
| + StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1',
|
| + package=u'servicecontrol')
|
| +encoding.AddCustomJsonEnumMapping(
|
| + StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2',
|
| + package=u'servicecontrol')
|
|
|