<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Google.Api.CommonProtos</name>
    </assembly>
    <members>
        <member name="T:Google.Api.AnnotationsReflection">
            <summary>Holder for reflection information generated from google/api/annotations.proto</summary>
        </member>
        <member name="P:Google.Api.AnnotationsReflection.Descriptor">
            <summary>File descriptor for google/api/annotations.proto</summary>
        </member>
        <member name="T:Google.Api.AuthReflection">
            <summary>Holder for reflection information generated from google/api/auth.proto</summary>
        </member>
        <member name="P:Google.Api.AuthReflection.Descriptor">
            <summary>File descriptor for google/api/auth.proto</summary>
        </member>
        <member name="T:Google.Api.Authentication">
             <summary>
             `Authentication` defines the authentication configuration for an API.
            
             Example for an API targeted for external use:
            
                 name: calendar.googleapis.com
                 authentication:
                   providers:
                   - id: google_calendar_auth
                     jwks_uri: https://www.googleapis.com/oauth2/v1/certs
                     issuer: https://securetoken.google.com
                   rules:
                   - selector: "*"
                     requirements:
                       provider_id: google_calendar_auth
             </summary>
        </member>
        <member name="F:Google.Api.Authentication.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Authentication.Rules">
             <summary>
             A list of authentication rules that apply to individual API methods.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="F:Google.Api.Authentication.ProvidersFieldNumber">
            <summary>Field number for the "providers" field.</summary>
        </member>
        <member name="P:Google.Api.Authentication.Providers">
            <summary>
            Defines a set of authentication providers that a service supports.
            </summary>
        </member>
        <member name="T:Google.Api.AuthenticationRule">
             <summary>
             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.
             </summary>
        </member>
        <member name="F:Google.Api.AuthenticationRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.AuthenticationRule.Selector">
             <summary>
             Selects the methods to which this rule applies.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.AuthenticationRule.OauthFieldNumber">
            <summary>Field number for the "oauth" field.</summary>
        </member>
        <member name="P:Google.Api.AuthenticationRule.Oauth">
            <summary>
            The requirements for OAuth credentials.
            </summary>
        </member>
        <member name="F:Google.Api.AuthenticationRule.AllowWithoutCredentialFieldNumber">
            <summary>Field number for the "allow_without_credential" field.</summary>
        </member>
        <member name="P:Google.Api.AuthenticationRule.AllowWithoutCredential">
             <summary>
             Whether to allow requests without a credential. The credential can be
             an OAuth token, Google cookies (first-party auth) or EndUserCreds.
            
             For requests without credentials, if the service control environment is
             specified, each incoming request **must** be associated with a service
             consumer. This can be done by passing an API key that belongs to a consumer
             project.
             </summary>
        </member>
        <member name="F:Google.Api.AuthenticationRule.RequirementsFieldNumber">
            <summary>Field number for the "requirements" field.</summary>
        </member>
        <member name="P:Google.Api.AuthenticationRule.Requirements">
            <summary>
            Requirements for additional authentication providers.
            </summary>
        </member>
        <member name="T:Google.Api.AuthProvider">
            <summary>
            Configuration for an anthentication provider, including support for
            [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
            </summary>
        </member>
        <member name="F:Google.Api.AuthProvider.IdFieldNumber">
            <summary>Field number for the "id" field.</summary>
        </member>
        <member name="P:Google.Api.AuthProvider.Id">
             <summary>
             The unique identifier of the auth provider. It will be referred to by
             `AuthRequirement.provider_id`.
            
             Example: "bookstore_auth".
             </summary>
        </member>
        <member name="F:Google.Api.AuthProvider.IssuerFieldNumber">
            <summary>Field number for the "issuer" field.</summary>
        </member>
        <member name="P:Google.Api.AuthProvider.Issuer">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.AuthProvider.JwksUriFieldNumber">
            <summary>Field number for the "jwks_uri" field.</summary>
        </member>
        <member name="P:Google.Api.AuthProvider.JwksUri">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.AuthProvider.AudiencesFieldNumber">
            <summary>Field number for the "audiences" field.</summary>
        </member>
        <member name="P:Google.Api.AuthProvider.Audiences">
             <summary>
             The list of JWT
             [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
             that are allowed to access. A JWT containing any of these audiences will
             be accepted. When this setting is absent, only JWTs with audience
             "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
             will be accepted. For example, if no audiences are in the setting,
             LibraryService API will only accept JWTs with the following audience
             "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
            
             Example:
            
                 audiences: bookstore_android.apps.googleusercontent.com,
                            bookstore_web.apps.googleusercontent.com
             </summary>
        </member>
        <member name="T:Google.Api.OAuthRequirements">
             <summary>
             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.
             </summary>
        </member>
        <member name="F:Google.Api.OAuthRequirements.CanonicalScopesFieldNumber">
            <summary>Field number for the "canonical_scopes" field.</summary>
        </member>
        <member name="P:Google.Api.OAuthRequirements.CanonicalScopes">
             <summary>
             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
             </summary>
        </member>
        <member name="T:Google.Api.AuthRequirement">
            <summary>
            User-defined authentication requirements, including support for
            [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
            </summary>
        </member>
        <member name="F:Google.Api.AuthRequirement.ProviderIdFieldNumber">
            <summary>Field number for the "provider_id" field.</summary>
        </member>
        <member name="P:Google.Api.AuthRequirement.ProviderId">
             <summary>
             [id][google.api.AuthProvider.id] from authentication provider.
            
             Example:
            
                 provider_id: bookstore_auth
             </summary>
        </member>
        <member name="F:Google.Api.AuthRequirement.AudiencesFieldNumber">
            <summary>Field number for the "audiences" field.</summary>
        </member>
        <member name="P:Google.Api.AuthRequirement.Audiences">
             <summary>
             NOTE: This will be deprecated soon, once AuthProvider.audiences is
             implemented and accepted in all the runtime components.
            
             The list of JWT
             [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
             that are allowed to access. A JWT containing any of these audiences will
             be accepted. When this setting is absent, only JWTs with audience
             "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
             will be accepted. For example, if no audiences are in the setting,
             LibraryService API will only accept JWTs with the following audience
             "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
            
             Example:
            
                 audiences: bookstore_android.apps.googleusercontent.com,
                            bookstore_web.apps.googleusercontent.com
             </summary>
        </member>
        <member name="T:Google.Api.AuthorizationConfigReflection">
            <summary>Holder for reflection information generated from google/api/experimental/authorization_config.proto</summary>
        </member>
        <member name="P:Google.Api.AuthorizationConfigReflection.Descriptor">
            <summary>File descriptor for google/api/experimental/authorization_config.proto</summary>
        </member>
        <member name="T:Google.Api.AuthorizationConfig">
             <summary>
             Configuration of authorization.
            
             This section determines the authorization provider, if unspecified, then no
             authorization check will be done.
            
             Example:
            
                 experimental:
                   authorization:
                     provider: firebaserules.googleapis.com
             </summary>
        </member>
        <member name="F:Google.Api.AuthorizationConfig.ProviderFieldNumber">
            <summary>Field number for the "provider" field.</summary>
        </member>
        <member name="P:Google.Api.AuthorizationConfig.Provider">
            <summary>
            The name of the authorization provider, such as
            firebaserules.googleapis.com.
            </summary>
        </member>
        <member name="T:Google.Api.BackendReflection">
            <summary>Holder for reflection information generated from google/api/backend.proto</summary>
        </member>
        <member name="P:Google.Api.BackendReflection.Descriptor">
            <summary>File descriptor for google/api/backend.proto</summary>
        </member>
        <member name="T:Google.Api.Backend">
            <summary>
            `Backend` defines the backend configuration for a service.
            </summary>
        </member>
        <member name="F:Google.Api.Backend.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Backend.Rules">
             <summary>
             A list of API backend rules that apply to individual API methods.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="T:Google.Api.BackendRule">
            <summary>
            A backend rule provides configuration for an individual API element.
            </summary>
        </member>
        <member name="F:Google.Api.BackendRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.BackendRule.Selector">
             <summary>
             Selects the methods to which this rule applies.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.BackendRule.AddressFieldNumber">
            <summary>Field number for the "address" field.</summary>
        </member>
        <member name="P:Google.Api.BackendRule.Address">
            <summary>
            The address of the API backend.
            </summary>
        </member>
        <member name="F:Google.Api.BackendRule.DeadlineFieldNumber">
            <summary>Field number for the "deadline" field.</summary>
        </member>
        <member name="P:Google.Api.BackendRule.Deadline">
            <summary>
            The number of seconds to wait for a response from a request.  The
            default depends on the deployment context.
            </summary>
        </member>
        <member name="T:Google.Api.BillingReflection">
            <summary>Holder for reflection information generated from google/api/billing.proto</summary>
        </member>
        <member name="P:Google.Api.BillingReflection.Descriptor">
            <summary>File descriptor for google/api/billing.proto</summary>
        </member>
        <member name="T:Google.Api.Billing">
             <summary>
             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.
             </summary>
        </member>
        <member name="F:Google.Api.Billing.MetricsFieldNumber">
            <summary>Field number for the "metrics" field.</summary>
        </member>
        <member name="P:Google.Api.Billing.Metrics">
            <summary>
            Names of the metrics to report to billing. Each name must
            be defined in [Service.metrics][google.api.Service.metrics] section.
            </summary>
        </member>
        <member name="F:Google.Api.Billing.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Billing.Rules">
            <summary>
            A list of billing status rules for configuring billing status check.
            </summary>
        </member>
        <member name="T:Google.Api.BillingStatusRule">
             <summary>
             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.
             </summary>
        </member>
        <member name="F:Google.Api.BillingStatusRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.BillingStatusRule.Selector">
            <summary>
            Selects the operation names to which this rule applies.
            Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
            </summary>
        </member>
        <member name="F:Google.Api.BillingStatusRule.AllowedStatusesFieldNumber">
            <summary>Field number for the "allowed_statuses" field.</summary>
        </member>
        <member name="P:Google.Api.BillingStatusRule.AllowedStatuses">
            <summary>
            Allowed billing statuses. The billing status check passes if the actual
            billing status matches any of the provided values here.
            </summary>
        </member>
        <member name="T:Google.Api.ConfigChangeReflection">
            <summary>Holder for reflection information generated from google/api/config_change.proto</summary>
        </member>
        <member name="P:Google.Api.ConfigChangeReflection.Descriptor">
            <summary>File descriptor for google/api/config_change.proto</summary>
        </member>
        <member name="T:Google.Api.ChangeType">
            <summary>
            Classifies set of possible modifications to an object in the service
            configuration.
            </summary>
        </member>
        <member name="F:Google.Api.ChangeType.Unspecified">
            <summary>
            No value was provided.
            </summary>
        </member>
        <member name="F:Google.Api.ChangeType.Added">
            <summary>
            The changed object exists in the 'new' service configuration, but not
            in the 'old' service configuration.
            </summary>
        </member>
        <member name="F:Google.Api.ChangeType.Removed">
            <summary>
            The changed object exists in the 'old' service configuration, but not
            in the 'new' service configuration.
            </summary>
        </member>
        <member name="F:Google.Api.ChangeType.Modified">
            <summary>
            The changed object exists in both service configurations, but its value
            is different.
            </summary>
        </member>
        <member name="T:Google.Api.ConfigChange">
             <summary>
             Output generated from semantically comparing two versions of a service
             configuration.
            
             Includes detailed information about a field that have changed with
             applicable advice about potential consequences for the change, such as
             backwards-incompatibility.
             </summary>
        </member>
        <member name="F:Google.Api.ConfigChange.ElementFieldNumber">
            <summary>Field number for the "element" field.</summary>
        </member>
        <member name="P:Google.Api.ConfigChange.Element">
            <summary>
            Object hierarchy path to the change, with levels separated by a '.'
            character. For repeated fields, an applicable unique identifier field is
            used for the index (usually selector, name, or id). For maps, the term
            'key' is used. If the field has no unique identifier, the numeric index
            is used.
            Examples:
            - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
            - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
            - logging.producer_destinations[0]
            </summary>
        </member>
        <member name="F:Google.Api.ConfigChange.OldValueFieldNumber">
            <summary>Field number for the "old_value" field.</summary>
        </member>
        <member name="P:Google.Api.ConfigChange.OldValue">
            <summary>
            Value of the changed object in the old Service configuration,
            in JSON format. This field will not be populated if ChangeType == ADDED.
            </summary>
        </member>
        <member name="F:Google.Api.ConfigChange.NewValueFieldNumber">
            <summary>Field number for the "new_value" field.</summary>
        </member>
        <member name="P:Google.Api.ConfigChange.NewValue">
            <summary>
            Value of the changed object in the new Service configuration,
            in JSON format. This field will not be populated if ChangeType == REMOVED.
            </summary>
        </member>
        <member name="F:Google.Api.ConfigChange.ChangeTypeFieldNumber">
            <summary>Field number for the "change_type" field.</summary>
        </member>
        <member name="P:Google.Api.ConfigChange.ChangeType">
            <summary>
            The type for this change, either ADDED, REMOVED, or MODIFIED.
            </summary>
        </member>
        <member name="F:Google.Api.ConfigChange.AdvicesFieldNumber">
            <summary>Field number for the "advices" field.</summary>
        </member>
        <member name="P:Google.Api.ConfigChange.Advices">
            <summary>
            Collection of advice provided for this change, useful for determining the
            possible impact of this change.
            </summary>
        </member>
        <member name="T:Google.Api.Advice">
            <summary>
            Generated advice about this change, used for providing more
            information about how a change will affect the existing service.
            </summary>
        </member>
        <member name="F:Google.Api.Advice.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.Advice.Description">
            <summary>
            Useful description for why this advice was applied and what actions should
            be taken to mitigate any implied risks.
            </summary>
        </member>
        <member name="T:Google.Api.ConsumerReflection">
            <summary>Holder for reflection information generated from google/api/consumer.proto</summary>
        </member>
        <member name="P:Google.Api.ConsumerReflection.Descriptor">
            <summary>File descriptor for google/api/consumer.proto</summary>
        </member>
        <member name="T:Google.Api.ProjectProperties">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.ProjectProperties.PropertiesFieldNumber">
            <summary>Field number for the "properties" field.</summary>
        </member>
        <member name="P:Google.Api.ProjectProperties.Properties">
            <summary>
            List of per consumer project-specific properties.
            </summary>
        </member>
        <member name="T:Google.Api.Property">
             <summary>
             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.
             </summary>
        </member>
        <member name="F:Google.Api.Property.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.Property.Name">
            <summary>
            The name of the property (a.k.a key).
            </summary>
        </member>
        <member name="F:Google.Api.Property.TypeFieldNumber">
            <summary>Field number for the "type" field.</summary>
        </member>
        <member name="P:Google.Api.Property.Type">
            <summary>
            The type of this property.
            </summary>
        </member>
        <member name="F:Google.Api.Property.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.Property.Description">
            <summary>
            The description of the property
            </summary>
        </member>
        <member name="T:Google.Api.Property.Types">
            <summary>Container for nested types declared in the Property message type.</summary>
        </member>
        <member name="T:Google.Api.Property.Types.PropertyType">
            <summary>
            Supported data type of the property values
            </summary>
        </member>
        <member name="F:Google.Api.Property.Types.PropertyType.Unspecified">
            <summary>
            The type is unspecified, and will result in an error.
            </summary>
        </member>
        <member name="F:Google.Api.Property.Types.PropertyType.Int64">
            <summary>
            The type is `int64`.
            </summary>
        </member>
        <member name="F:Google.Api.Property.Types.PropertyType.Bool">
            <summary>
            The type is `bool`.
            </summary>
        </member>
        <member name="F:Google.Api.Property.Types.PropertyType.String">
            <summary>
            The type is `string`.
            </summary>
        </member>
        <member name="F:Google.Api.Property.Types.PropertyType.Double">
            <summary>
            The type is 'double'.
            </summary>
        </member>
        <member name="T:Google.Api.ContextReflection">
            <summary>Holder for reflection information generated from google/api/context.proto</summary>
        </member>
        <member name="P:Google.Api.ContextReflection.Descriptor">
            <summary>File descriptor for google/api/context.proto</summary>
        </member>
        <member name="T:Google.Api.Context">
             <summary>
             `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`.
             </summary>
        </member>
        <member name="F:Google.Api.Context.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Context.Rules">
             <summary>
             A list of RPC context rules that apply to individual API methods.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="T:Google.Api.ContextRule">
            <summary>
            A context rule provides information about the context for an individual API
            element.
            </summary>
        </member>
        <member name="F:Google.Api.ContextRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.ContextRule.Selector">
             <summary>
             Selects the methods to which this rule applies.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.ContextRule.RequestedFieldNumber">
            <summary>Field number for the "requested" field.</summary>
        </member>
        <member name="P:Google.Api.ContextRule.Requested">
            <summary>
            A list of full type names of requested contexts.
            </summary>
        </member>
        <member name="F:Google.Api.ContextRule.ProvidedFieldNumber">
            <summary>Field number for the "provided" field.</summary>
        </member>
        <member name="P:Google.Api.ContextRule.Provided">
            <summary>
            A list of full type names of provided contexts.
            </summary>
        </member>
        <member name="T:Google.Api.ControlReflection">
            <summary>Holder for reflection information generated from google/api/control.proto</summary>
        </member>
        <member name="P:Google.Api.ControlReflection.Descriptor">
            <summary>File descriptor for google/api/control.proto</summary>
        </member>
        <member name="T:Google.Api.Control">
            <summary>
            Selects and configures the service controller used by the service.  The
            service controller handles features like abuse, quota, billing, logging,
            monitoring, etc.
            </summary>
        </member>
        <member name="F:Google.Api.Control.EnvironmentFieldNumber">
            <summary>Field number for the "environment" field.</summary>
        </member>
        <member name="P:Google.Api.Control.Environment">
            <summary>
            The service control environment to use. If empty, no control plane
            feature (like quota and billing) will be enabled.
            </summary>
        </member>
        <member name="T:Google.Api.DistributionReflection">
            <summary>Holder for reflection information generated from google/api/distribution.proto</summary>
        </member>
        <member name="P:Google.Api.DistributionReflection.Descriptor">
            <summary>File descriptor for google/api/distribution.proto</summary>
        </member>
        <member name="T:Google.Api.Distribution">
             <summary>
             Distribution contains summary statistics for a population of values and,
             optionally, a histogram representing the distribution of those values across
             a specified set of histogram buckets.
            
             The summary statistics are the count, mean, sum of the squared deviation from
             the mean, the minimum, and the maximum of the set of population of values.
            
             The histogram is based on a sequence of buckets and gives a count of values
             that fall into each bucket.  The boundaries of the buckets are given either
             explicitly or by specifying parameters for a method of computing them
             (buckets of fixed width or buckets of exponentially increasing width).
            
             Although it is not forbidden, it is generally a bad idea to include
             non-finite values (infinities or NaNs) in the population of values, as this
             will render the `mean` and `sum_of_squared_deviation` fields meaningless.
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.CountFieldNumber">
            <summary>Field number for the "count" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Count">
            <summary>
            The number of values in the population. Must be non-negative.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.MeanFieldNumber">
            <summary>Field number for the "mean" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Mean">
            <summary>
            The arithmetic mean of the values in the population. If `count` is zero
            then this field must be zero.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.SumOfSquaredDeviationFieldNumber">
            <summary>Field number for the "sum_of_squared_deviation" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.SumOfSquaredDeviation">
             <summary>
             The sum of squared deviations from the mean of the values in the
             population.  For values x_i this is:
            
                 Sum[i=1..n]((x_i - mean)^2)
            
             Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
             describes Welford's method for accumulating this sum in one pass.
            
             If `count` is zero then this field must be zero.
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.RangeFieldNumber">
            <summary>Field number for the "range" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Range">
            <summary>
            If specified, contains the range of the population values. The field
            must not be present if the `count` is zero.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.BucketOptionsFieldNumber">
            <summary>Field number for the "bucket_options" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.BucketOptions">
            <summary>
            Defines the histogram bucket boundaries.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.BucketCountsFieldNumber">
            <summary>Field number for the "bucket_counts" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.BucketCounts">
             <summary>
             If `bucket_options` is given, then the sum of the values in `bucket_counts`
             must equal the value in `count`.  If `bucket_options` is not given, no
             `bucket_counts` fields may be given.
            
             Bucket counts are given in order under the numbering scheme described
             above (the underflow bucket has number 0; the finite buckets, if any,
             have numbers 1 through N-2; the overflow bucket has number N-1).
            
             The size of `bucket_counts` must be no greater than N as defined in
             `bucket_options`.
            
             Any suffix of trailing zero bucket_count fields may be omitted.
             </summary>
        </member>
        <member name="T:Google.Api.Distribution.Types">
            <summary>Container for nested types declared in the Distribution message type.</summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.Range">
            <summary>
            The range of the population values.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.Range.MinFieldNumber">
            <summary>Field number for the "min" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.Range.Min">
            <summary>
            The minimum of the population values.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.Range.MaxFieldNumber">
            <summary>Field number for the "max" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.Range.Max">
            <summary>
            The maximum of the population values.
            </summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions">
             <summary>
             A Distribution may optionally contain a histogram of the values in the
             population.  The histogram is given in `bucket_counts` as counts of values
             that fall into one of a sequence of non-overlapping buckets.  The sequence
             of buckets is described by `bucket_options`.
            
             A bucket specifies an inclusive lower bound and exclusive upper bound for
             the values that are counted for that bucket.  The upper bound of a bucket
             is strictly greater than the lower bound.
            
             The sequence of N buckets for a Distribution consists of an underflow
             bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
             an overflow bucket (number N - 1).  The buckets are contiguous:  the lower
             bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
             The buckets span the whole range of finite values: lower bound of the
             underflow bucket is -infinity and the upper bound of the overflow bucket is
             +infinity.  The finite buckets are so-called because both bounds are
             finite.
            
             `BucketOptions` describes bucket boundaries in one of three ways.  Two
             describe the boundaries by giving parameters for a formula to generate
             boundaries and one gives the bucket boundaries explicitly.
            
             If `bucket_boundaries` is not given, then no `bucket_counts` may be given.
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.LinearBucketsFieldNumber">
            <summary>Field number for the "linear_buckets" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.LinearBuckets">
            <summary>
            The linear bucket.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.ExponentialBucketsFieldNumber">
            <summary>Field number for the "exponential_buckets" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.ExponentialBuckets">
            <summary>
            The exponential buckets.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.ExplicitBucketsFieldNumber">
            <summary>Field number for the "explicit_buckets" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.ExplicitBuckets">
            <summary>
            The explicit buckets.
            </summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions.OptionsOneofCase">
            <summary>Enum of possible cases for the "options" oneof.</summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions.Types">
            <summary>Container for nested types declared in the BucketOptions message type.</summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions.Types.Linear">
             <summary>
             Specify a sequence of buckets that all have the same width (except
             overflow and underflow).  Each bucket represents a constant absolute
             uncertainty on the specific value in the bucket.
            
             Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
             bucket `i`:
            
                Upper bound (0 &lt;= i &lt; N-1):     offset + (width * i).
                Lower bound (1 &lt;= i &lt; N):       offset + (width * (i - 1)).
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Linear.NumFiniteBucketsFieldNumber">
            <summary>Field number for the "num_finite_buckets" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Linear.NumFiniteBuckets">
            <summary>
            Must be greater than 0.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Linear.WidthFieldNumber">
            <summary>Field number for the "width" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Linear.Width">
            <summary>
            Must be greater than 0.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Linear.OffsetFieldNumber">
            <summary>Field number for the "offset" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Linear.Offset">
            <summary>
            Lower bound of the first bucket.
            </summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions.Types.Exponential">
             <summary>
             Specify a sequence of buckets that have a width that is proportional to
             the value of the lower bound.  Each bucket represents a constant relative
             uncertainty on a specific value in the bucket.
            
             Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
             bucket i:
            
                Upper bound (0 &lt;= i &lt; N-1):     scale * (growth_factor ^ i).
                Lower bound (1 &lt;= i &lt; N):       scale * (growth_factor ^ (i - 1)).
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.NumFiniteBucketsFieldNumber">
            <summary>Field number for the "num_finite_buckets" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.NumFiniteBuckets">
            <summary>
            Must be greater than 0.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.GrowthFactorFieldNumber">
            <summary>Field number for the "growth_factor" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.GrowthFactor">
            <summary>
            Must be greater than 1.
            </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.ScaleFieldNumber">
            <summary>Field number for the "scale" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Exponential.Scale">
            <summary>
            Must be greater than 0.
            </summary>
        </member>
        <member name="T:Google.Api.Distribution.Types.BucketOptions.Types.Explicit">
             <summary>
             A set of buckets with arbitrary widths.
            
             Defines `size(bounds) + 1` (= N) buckets with these boundaries for
             bucket i:
            
                Upper bound (0 &lt;= i &lt; N-1):     bounds[i]
                Lower bound (1 &lt;= i &lt; N);       bounds[i - 1]
            
             There must be at least one element in `bounds`.  If `bounds` has only one
             element, there are no finite buckets, and that single element is the
             common boundary of the overflow and underflow buckets.
             </summary>
        </member>
        <member name="F:Google.Api.Distribution.Types.BucketOptions.Types.Explicit.BoundsFieldNumber">
            <summary>Field number for the "bounds" field.</summary>
        </member>
        <member name="P:Google.Api.Distribution.Types.BucketOptions.Types.Explicit.Bounds">
            <summary>
            The values must be monotonically increasing.
            </summary>
        </member>
        <member name="T:Google.Api.DocumentationReflection">
            <summary>Holder for reflection information generated from google/api/documentation.proto</summary>
        </member>
        <member name="P:Google.Api.DocumentationReflection.Descriptor">
            <summary>File descriptor for google/api/documentation.proto</summary>
        </member>
        <member name="T:Google.Api.Documentation">
             <summary>
             `Documentation` provides the information for describing a service.
            
             Example:
             &lt;pre>&lt;code>documentation:
               summary: >
                 The Google Calendar API gives access
                 to most calendar features.
               pages:
               - name: Overview
                 content: &amp;#40;== include google/foo/overview.md ==&amp;#41;
               - name: Tutorial
                 content: &amp;#40;== include google/foo/tutorial.md ==&amp;#41;
                 subpages;
                 - name: Java
                   content: &amp;#40;== include google/foo/tutorial_java.md ==&amp;#41;
               rules:
               - selector: google.calendar.Calendar.Get
                 description: >
                   ...
               - selector: google.calendar.Calendar.Put
                 description: >
                   ...
             &lt;/code>&lt;/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:
             &lt;pre>&lt;code>&amp;#91;fully.qualified.proto.name]&amp;#91;]&lt;/code>&lt;/pre>
             To override the display text used for the link, this can be used:
             &lt;pre>&lt;code>&amp;#91;display text]&amp;#91;fully.qualified.proto.name]&lt;/code>&lt;/pre>
             Text can be excluded from doc using the following notation:
             &lt;pre>&lt;code>&amp;#40;-- internal comment --&amp;#41;&lt;/code>&lt;/pre>
             Comments can be made conditional using a visibility label. The below
             text will be only rendered if the `BETA` label is available:
             &lt;pre>&lt;code>&amp;#40;--BETA: comment for BETA users --&amp;#41;&lt;/code>&lt;/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:
             &lt;pre>&lt;code>&amp;#40;== include path/to/file ==&amp;#41;&lt;/code>&lt;/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:
             &lt;pre>&lt;code>&amp;#40;== resource_for v1.shelves.books ==&amp;#41;&lt;/code>&lt;/pre>
             The directive `suppress_warning` does not directly affect documentation
             and is documented together with service config validation.
             </summary>
        </member>
        <member name="F:Google.Api.Documentation.SummaryFieldNumber">
            <summary>Field number for the "summary" field.</summary>
        </member>
        <member name="P:Google.Api.Documentation.Summary">
            <summary>
            A short summary of what the service does. Can only be provided by
            plain text.
            </summary>
        </member>
        <member name="F:Google.Api.Documentation.PagesFieldNumber">
            <summary>Field number for the "pages" field.</summary>
        </member>
        <member name="P:Google.Api.Documentation.Pages">
            <summary>
            The top level pages for the documentation set.
            </summary>
        </member>
        <member name="F:Google.Api.Documentation.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Documentation.Rules">
             <summary>
             A list of documentation rules that apply to individual API elements.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="F:Google.Api.Documentation.DocumentationRootUrlFieldNumber">
            <summary>Field number for the "documentation_root_url" field.</summary>
        </member>
        <member name="P:Google.Api.Documentation.DocumentationRootUrl">
            <summary>
            The URL to the root of documentation.
            </summary>
        </member>
        <member name="F:Google.Api.Documentation.OverviewFieldNumber">
            <summary>Field number for the "overview" field.</summary>
        </member>
        <member name="P:Google.Api.Documentation.Overview">
            <summary>
            Declares a single overview page. For example:
            &lt;pre>&lt;code>documentation:
              summary: ...
              overview: &amp;#40;== include overview.md ==&amp;#41;
            &lt;/code>&lt;/pre>
            This is a shortcut for the following declaration (using pages style):
            &lt;pre>&lt;code>documentation:
              summary: ...
              pages:
              - name: Overview
                content: &amp;#40;== include overview.md ==&amp;#41;
            &lt;/code>&lt;/pre>
            Note: you cannot specify both `overview` field and `pages` field.
            </summary>
        </member>
        <member name="T:Google.Api.DocumentationRule">
            <summary>
            A documentation rule provides information about individual API elements.
            </summary>
        </member>
        <member name="F:Google.Api.DocumentationRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.DocumentationRule.Selector">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.DocumentationRule.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.DocumentationRule.Description">
            <summary>
            Description of the selected API(s).
            </summary>
        </member>
        <member name="F:Google.Api.DocumentationRule.DeprecationDescriptionFieldNumber">
            <summary>Field number for the "deprecation_description" field.</summary>
        </member>
        <member name="P:Google.Api.DocumentationRule.DeprecationDescription">
            <summary>
            Deprecation description of the selected element(s). It can be provided if an
            element is marked as `deprecated`.
            </summary>
        </member>
        <member name="T:Google.Api.Page">
            <summary>
            Represents a documentation page. A page can contain subpages to represent
            nested documentation set structure.
            </summary>
        </member>
        <member name="F:Google.Api.Page.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.Page.Name">
            <summary>
            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:
            &lt;pre>&lt;code>pages:
            - name: Tutorial
              content: &amp;#40;== include tutorial.md ==&amp;#41;
              subpages:
              - name: Java
                content: &amp;#40;== include tutorial_java.md ==&amp;#41;
            &lt;/code>&lt;/pre>
            You can reference `Java` page using Markdown reference link syntax:
            `[Java][Tutorial.Java]`.
            </summary>
        </member>
        <member name="F:Google.Api.Page.ContentFieldNumber">
            <summary>Field number for the "content" field.</summary>
        </member>
        <member name="P:Google.Api.Page.Content">
            <summary>
            The Markdown content of the page. You can use &lt;code>&amp;#40;== include {path} ==&amp;#41;&lt;/code>
            to include content from a Markdown file.
            </summary>
        </member>
        <member name="F:Google.Api.Page.SubpagesFieldNumber">
            <summary>Field number for the "subpages" field.</summary>
        </member>
        <member name="P:Google.Api.Page.Subpages">
            <summary>
            Subpages of this page. The order of subpages specified here will be
            honored in the generated docset.
            </summary>
        </member>
        <member name="T:Google.Api.EndpointReflection">
            <summary>Holder for reflection information generated from google/api/endpoint.proto</summary>
        </member>
        <member name="P:Google.Api.EndpointReflection.Descriptor">
            <summary>File descriptor for google/api/endpoint.proto</summary>
        </member>
        <member name="T:Google.Api.Endpoint">
             <summary>
             `Endpoint` describes a network endpoint that serves a set of APIs.
             A service may expose any number of endpoints, and all endpoints share the
             same service configuration, such as quota configuration and monitoring
             configuration.
            
             Example service configuration:
            
                 name: library-example.googleapis.com
                 endpoints:
                   # Below entry makes 'google.example.library.v1.Library'
                   # API be served from endpoint address library-example.googleapis.com.
                   # It also allows HTTP OPTIONS calls to be passed to the backend, for
                   # it to decide whether the subsequent cross-origin request is
                   # allowed to proceed.
                 - name: library-example.googleapis.com
                   allow_cors: true
             </summary>
        </member>
        <member name="F:Google.Api.Endpoint.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.Name">
            <summary>
            The canonical name of this endpoint.
            </summary>
        </member>
        <member name="F:Google.Api.Endpoint.AliasesFieldNumber">
            <summary>Field number for the "aliases" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.Aliases">
             <summary>
             DEPRECATED: This field is no longer supported. Instead of using aliases,
             please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intented
             alias.
            
             Additional names that this endpoint will be hosted on.
             </summary>
        </member>
        <member name="F:Google.Api.Endpoint.ApisFieldNumber">
            <summary>Field number for the "apis" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.Apis">
            <summary>
            The list of APIs served by this endpoint.
            </summary>
        </member>
        <member name="F:Google.Api.Endpoint.FeaturesFieldNumber">
            <summary>Field number for the "features" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.Features">
            <summary>
            The list of features enabled on this endpoint.
            </summary>
        </member>
        <member name="F:Google.Api.Endpoint.TargetFieldNumber">
            <summary>Field number for the "target" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.Target">
            <summary>
            The specification of an Internet routable address of API frontend that will
            handle requests to this [API Endpoint](https://cloud.google.com/apis/design/glossary).
            It should be either a valid IPv4 address or a fully-qualified domain name.
            For example, "8.8.8.8" or "myservice.appspot.com".
            </summary>
        </member>
        <member name="F:Google.Api.Endpoint.AllowCorsFieldNumber">
            <summary>Field number for the "allow_cors" field.</summary>
        </member>
        <member name="P:Google.Api.Endpoint.AllowCors">
            <summary>
            Allowing
            [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
            cross-domain traffic, would allow the backends served from this endpoint to
            receive and respond to HTTP OPTIONS requests. The response will be used by
            the browser to determine whether the subsequent cross-origin request is
            allowed to proceed.
            </summary>
        </member>
        <member name="T:Google.Api.ExperimentalReflection">
            <summary>Holder for reflection information generated from google/api/experimental/experimental.proto</summary>
        </member>
        <member name="P:Google.Api.ExperimentalReflection.Descriptor">
            <summary>File descriptor for google/api/experimental/experimental.proto</summary>
        </member>
        <member name="T:Google.Api.Experimental">
            <summary>
            Experimental service configuration. These configuration options can
            only be used by whitelisted users.
            </summary>
        </member>
        <member name="F:Google.Api.Experimental.AuthorizationFieldNumber">
            <summary>Field number for the "authorization" field.</summary>
        </member>
        <member name="P:Google.Api.Experimental.Authorization">
            <summary>
            Authorization configuration.
            </summary>
        </member>
        <member name="T:Google.Api.HttpReflection">
            <summary>Holder for reflection information generated from google/api/http.proto</summary>
        </member>
        <member name="P:Google.Api.HttpReflection.Descriptor">
            <summary>File descriptor for google/api/http.proto</summary>
        </member>
        <member name="T:Google.Api.Http">
            <summary>
            Defines the HTTP configuration for a service. It contains a list of
            [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
            to one or more HTTP REST API methods.
            </summary>
        </member>
        <member name="F:Google.Api.Http.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Http.Rules">
             <summary>
             A list of HTTP configuration rules that apply to individual API methods.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="T:Google.Api.HttpRule">
             <summary>
             `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:
            
                 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
                 }
            
             The same http annotation can alternatively be expressed inside the
             `GRPC API Configuration` YAML file.
            
                 http:
                   rules:
                     - selector: &lt;proto_package_name>.Messaging.GetMessage
                       get: /v1/messages/{message_id}/{sub.subfield}
            
             This definition enables an automatic, bidrectional mapping of HTTP
             JSON to RPC. Example:
            
             HTTP | RPC
             -----|-----
             `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:
            
                 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&amp;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&amp;param=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:
            
                 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:
            
                 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:
            
                 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. NOTE: it must be the last segment in the path except the Verb.
            
             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.
             </summary>
        </member>
        <member name="F:Google.Api.HttpRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Selector">
             <summary>
             Selects methods to which this rule applies.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.HttpRule.GetFieldNumber">
            <summary>Field number for the "get" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Get">
            <summary>
            Used for listing and getting information about resources.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.PutFieldNumber">
            <summary>Field number for the "put" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Put">
            <summary>
            Used for updating a resource.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.PostFieldNumber">
            <summary>Field number for the "post" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Post">
            <summary>
            Used for creating a resource.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.DeleteFieldNumber">
            <summary>Field number for the "delete" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Delete">
            <summary>
            Used for deleting a resource.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.PatchFieldNumber">
            <summary>Field number for the "patch" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Patch">
            <summary>
            Used for updating a resource.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.CustomFieldNumber">
            <summary>Field number for the "custom" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Custom">
            <summary>
            Custom pattern is used for defining custom verbs.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.BodyFieldNumber">
            <summary>Field number for the "body" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.Body">
            <summary>
            The name of the request field whose value is mapped to the HTTP body, or
            `*` for mapping all fields not captured by the path pattern to the HTTP
            body. NOTE: the referred field must not be a repeated field and must be
            present at the top-level of request message type.
            </summary>
        </member>
        <member name="F:Google.Api.HttpRule.AdditionalBindingsFieldNumber">
            <summary>Field number for the "additional_bindings" field.</summary>
        </member>
        <member name="P:Google.Api.HttpRule.AdditionalBindings">
            <summary>
            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).
            </summary>
        </member>
        <member name="T:Google.Api.HttpRule.PatternOneofCase">
            <summary>Enum of possible cases for the "pattern" oneof.</summary>
        </member>
        <member name="T:Google.Api.CustomHttpPattern">
            <summary>
            A custom pattern is used for defining custom HTTP verb.
            </summary>
        </member>
        <member name="F:Google.Api.CustomHttpPattern.KindFieldNumber">
            <summary>Field number for the "kind" field.</summary>
        </member>
        <member name="P:Google.Api.CustomHttpPattern.Kind">
            <summary>
            The name of this custom HTTP verb.
            </summary>
        </member>
        <member name="F:Google.Api.CustomHttpPattern.PathFieldNumber">
            <summary>Field number for the "path" field.</summary>
        </member>
        <member name="P:Google.Api.CustomHttpPattern.Path">
            <summary>
            The path matched by this custom verb.
            </summary>
        </member>
        <member name="T:Google.Api.HttpbodyReflection">
            <summary>Holder for reflection information generated from google/api/httpbody.proto</summary>
        </member>
        <member name="P:Google.Api.HttpbodyReflection.Descriptor">
            <summary>File descriptor for google/api/httpbody.proto</summary>
        </member>
        <member name="T:Google.Api.HttpBody">
             <summary>
             Message that represents an arbitrary HTTP body. It should only be used for
             payload formats that can't be represented as JSON, such as raw binary or
             an HTML page.
            
             This message can be used both in streaming and non-streaming API methods in
             the request as well as the response.
            
             It can be used as a top-level request field, which is convenient if one
             wants to extract parameters from either the URL or HTTP template into the
             request fields and also want access to the raw HTTP body.
            
             Example:
            
                 message GetResourceRequest {
                   // A unique request id.
                   string request_id = 1;
            
                   // The raw HTTP body is bound to this field.
                   google.api.HttpBody http_body = 2;
                 }
            
                 service ResourceService {
                   rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
                   rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
                 }
            
             Example with streaming methods:
            
                 service CaldavService {
                   rpc GetCalendar(stream google.api.HttpBody)
                     returns (stream google.api.HttpBody);
                   rpc UpdateCalendar(stream google.api.HttpBody)
                     returns (stream google.api.HttpBody);
                 }
            
             Use of this type only changes how the request and response bodies are
             handled, all other features will continue to work unchanged.
             </summary>
        </member>
        <member name="F:Google.Api.HttpBody.ContentTypeFieldNumber">
            <summary>Field number for the "content_type" field.</summary>
        </member>
        <member name="P:Google.Api.HttpBody.ContentType">
            <summary>
            The HTTP Content-Type string representing the content type of the body.
            </summary>
        </member>
        <member name="F:Google.Api.HttpBody.DataFieldNumber">
            <summary>Field number for the "data" field.</summary>
        </member>
        <member name="P:Google.Api.HttpBody.Data">
            <summary>
            HTTP body binary data.
            </summary>
        </member>
        <member name="T:Google.Api.LabelReflection">
            <summary>Holder for reflection information generated from google/api/label.proto</summary>
        </member>
        <member name="P:Google.Api.LabelReflection.Descriptor">
            <summary>File descriptor for google/api/label.proto</summary>
        </member>
        <member name="T:Google.Api.LabelDescriptor">
            <summary>
            A description of a label.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.KeyFieldNumber">
            <summary>Field number for the "key" field.</summary>
        </member>
        <member name="P:Google.Api.LabelDescriptor.Key">
            <summary>
            The label key.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.ValueTypeFieldNumber">
            <summary>Field number for the "value_type" field.</summary>
        </member>
        <member name="P:Google.Api.LabelDescriptor.ValueType">
            <summary>
            The type of data that can be assigned to the label.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.LabelDescriptor.Description">
            <summary>
            A human-readable description for the label.
            </summary>
        </member>
        <member name="T:Google.Api.LabelDescriptor.Types">
            <summary>Container for nested types declared in the LabelDescriptor message type.</summary>
        </member>
        <member name="T:Google.Api.LabelDescriptor.Types.ValueType">
            <summary>
            Value types that can be used as label values.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.Types.ValueType.String">
            <summary>
            A variable-length string. This is the default.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.Types.ValueType.Bool">
            <summary>
            Boolean; true or false.
            </summary>
        </member>
        <member name="F:Google.Api.LabelDescriptor.Types.ValueType.Int64">
            <summary>
            A 64-bit signed integer.
            </summary>
        </member>
        <member name="T:Google.Api.LogReflection">
            <summary>Holder for reflection information generated from google/api/log.proto</summary>
        </member>
        <member name="P:Google.Api.LogReflection.Descriptor">
            <summary>File descriptor for google/api/log.proto</summary>
        </member>
        <member name="T:Google.Api.LogDescriptor">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.LogDescriptor.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.LogDescriptor.Name">
            <summary>
            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 [/_-.].
            </summary>
        </member>
        <member name="F:Google.Api.LogDescriptor.LabelsFieldNumber">
            <summary>Field number for the "labels" field.</summary>
        </member>
        <member name="P:Google.Api.LogDescriptor.Labels">
            <summary>
            The set of labels that are available to describe a specific log entry.
            Runtime requests that contain labels not specified here are
            considered invalid.
            </summary>
        </member>
        <member name="F:Google.Api.LogDescriptor.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.LogDescriptor.Description">
            <summary>
            A human-readable description of this log. This information appears in
            the documentation and can contain details.
            </summary>
        </member>
        <member name="F:Google.Api.LogDescriptor.DisplayNameFieldNumber">
            <summary>Field number for the "display_name" field.</summary>
        </member>
        <member name="P:Google.Api.LogDescriptor.DisplayName">
            <summary>
            The human-readable name for this log. This information appears on
            the user interface and should be concise.
            </summary>
        </member>
        <member name="T:Google.Api.LoggingReflection">
            <summary>Holder for reflection information generated from google/api/logging.proto</summary>
        </member>
        <member name="P:Google.Api.LoggingReflection.Descriptor">
            <summary>File descriptor for google/api/logging.proto</summary>
        </member>
        <member name="T:Google.Api.Logging">
             <summary>
             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 `activity_history`
             log is sent to both the producer and consumer projects, whereas the
             `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: activity_history
                   labels:
                   - key: /customer_id
                 - name: purchase_history
                 logging:
                   producer_destinations:
                   - monitored_resource: library.googleapis.com/branch
                     logs:
                     - activity_history
                     - purchase_history
                   consumer_destinations:
                   - monitored_resource: library.googleapis.com/branch
                     logs:
                     - activity_history
             </summary>
        </member>
        <member name="F:Google.Api.Logging.ProducerDestinationsFieldNumber">
            <summary>Field number for the "producer_destinations" field.</summary>
        </member>
        <member name="P:Google.Api.Logging.ProducerDestinations">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.Logging.ConsumerDestinationsFieldNumber">
            <summary>Field number for the "consumer_destinations" field.</summary>
        </member>
        <member name="P:Google.Api.Logging.ConsumerDestinations">
            <summary>
            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.
            </summary>
        </member>
        <member name="T:Google.Api.Logging.Types">
            <summary>Container for nested types declared in the Logging message type.</summary>
        </member>
        <member name="T:Google.Api.Logging.Types.LoggingDestination">
            <summary>
            Configuration of a specific logging destination (the producer project
            or the consumer project).
            </summary>
        </member>
        <member name="F:Google.Api.Logging.Types.LoggingDestination.MonitoredResourceFieldNumber">
            <summary>Field number for the "monitored_resource" field.</summary>
        </member>
        <member name="P:Google.Api.Logging.Types.LoggingDestination.MonitoredResource">
            <summary>
            The monitored resource type. The type must be defined in the
            [Service.monitored_resources][google.api.Service.monitored_resources] section.
            </summary>
        </member>
        <member name="F:Google.Api.Logging.Types.LoggingDestination.LogsFieldNumber">
            <summary>Field number for the "logs" field.</summary>
        </member>
        <member name="P:Google.Api.Logging.Types.LoggingDestination.Logs">
            <summary>
            Names of the logs to be sent to this destination. Each name must
            be defined in the [Service.logs][google.api.Service.logs] section. If the log name is
            not a domain scoped name, it will be automatically prefixed with
            the service name followed by "/".
            </summary>
        </member>
        <member name="T:Google.Api.MetricReflection">
            <summary>Holder for reflection information generated from google/api/metric.proto</summary>
        </member>
        <member name="P:Google.Api.MetricReflection.Descriptor">
            <summary>File descriptor for google/api/metric.proto</summary>
        </member>
        <member name="T:Google.Api.MetricDescriptor">
            <summary>
            Defines a metric type and its schema. Once a metric descriptor is created,
            deleting or altering it stops data collection and makes the metric type's
            existing data unusable.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.Name">
             <summary>
             The resource name of the metric descriptor. Depending on the
             implementation, the name typically includes: (1) the parent resource name
             that defines the scope of the metric type or of its data; and (2) the
             metric's URL-encoded type, which also appears in the `type` field of this
             descriptor. For example, following is the resource name of a custom
             metric within the GCP project `my-project-id`:
            
                 "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
             </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.TypeFieldNumber">
            <summary>Field number for the "type" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.Type">
             <summary>
             The metric type, including its DNS name prefix. The type is not
             URL-encoded.  All user-defined custom metric types have the DNS name
             `custom.googleapis.com`.  Metric types should use a natural hierarchical
             grouping. For example:
            
                 "custom.googleapis.com/invoice/paid/amount"
                 "appengine.googleapis.com/http/server/response_latencies"
             </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.LabelsFieldNumber">
            <summary>Field number for the "labels" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.Labels">
            <summary>
            The set of labels that can be used to describe a specific
            instance of this metric type. For example, the
            `appengine.googleapis.com/http/server/response_latencies` metric
            type has a label for the HTTP response code, `response_code`, so
            you can look at latencies for successful responses or just
            for responses that failed.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.MetricKindFieldNumber">
            <summary>Field number for the "metric_kind" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.MetricKind">
            <summary>
            Whether the metric records instantaneous values, changes to a value, etc.
            Some combinations of `metric_kind` and `value_type` might not be supported.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.ValueTypeFieldNumber">
            <summary>Field number for the "value_type" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.ValueType">
            <summary>
            Whether the measurement is an integer, a floating-point number, etc.
            Some combinations of `metric_kind` and `value_type` might not be supported.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.UnitFieldNumber">
            <summary>Field number for the "unit" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.Unit">
             <summary>
             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 '}'.
             </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.Description">
            <summary>
            A detailed description of the metric, which can be used in documentation.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.DisplayNameFieldNumber">
            <summary>Field number for the "display_name" field.</summary>
        </member>
        <member name="P:Google.Api.MetricDescriptor.DisplayName">
            <summary>
            A concise name for the metric, which can be displayed in user interfaces.
            Use sentence case without an ending period, for example "Request count".
            </summary>
        </member>
        <member name="T:Google.Api.MetricDescriptor.Types">
            <summary>Container for nested types declared in the MetricDescriptor message type.</summary>
        </member>
        <member name="T:Google.Api.MetricDescriptor.Types.MetricKind">
            <summary>
            The kind of measurement. It describes how the data is reported.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.MetricKind.Unspecified">
            <summary>
            Do not use this default value.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.MetricKind.Gauge">
            <summary>
            An instantaneous measurement of a value.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.MetricKind.Delta">
            <summary>
            The change in a value during a time interval.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.MetricKind.Cumulative">
            <summary>
            A value accumulated over a time interval.  Cumulative
            measurements in a time series should have the same start time
            and increasing end times, until an event resets the cumulative
            value to zero and sets a new start time for the following
            points.
            </summary>
        </member>
        <member name="T:Google.Api.MetricDescriptor.Types.ValueType">
            <summary>
            The value type of a metric.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Unspecified">
            <summary>
            Do not use this default value.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Bool">
            <summary>
            The value is a boolean.
            This value type can be used only if the metric kind is `GAUGE`.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Int64">
            <summary>
            The value is a signed 64-bit integer.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Double">
            <summary>
            The value is a double precision floating point number.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.String">
            <summary>
            The value is a text string.
            This value type can be used only if the metric kind is `GAUGE`.
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Distribution">
            <summary>
            The value is a [`Distribution`][google.api.Distribution].
            </summary>
        </member>
        <member name="F:Google.Api.MetricDescriptor.Types.ValueType.Money">
            <summary>
            The value is money.
            </summary>
        </member>
        <member name="T:Google.Api.Metric">
            <summary>
            A specific metric, identified by specifying values for all of the
            labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
            </summary>
        </member>
        <member name="F:Google.Api.Metric.TypeFieldNumber">
            <summary>Field number for the "type" field.</summary>
        </member>
        <member name="P:Google.Api.Metric.Type">
            <summary>
            An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
            For example, `custom.googleapis.com/invoice/paid/amount`.
            </summary>
        </member>
        <member name="F:Google.Api.Metric.LabelsFieldNumber">
            <summary>Field number for the "labels" field.</summary>
        </member>
        <member name="P:Google.Api.Metric.Labels">
            <summary>
            The set of label values that uniquely identify this metric. All
            labels listed in the `MetricDescriptor` must be assigned values.
            </summary>
        </member>
        <member name="T:Google.Api.MonitoredResourceReflection">
            <summary>Holder for reflection information generated from google/api/monitored_resource.proto</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceReflection.Descriptor">
            <summary>File descriptor for google/api/monitored_resource.proto</summary>
        </member>
        <member name="T:Google.Api.MonitoredResourceDescriptor">
             <summary>
             An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a
             type name and a set of labels.  For example, the monitored resource
             descriptor for Google Compute Engine VM instances has a type of
             `"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.
             </summary>
        </member>
        <member name="F:Google.Api.MonitoredResourceDescriptor.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceDescriptor.Name">
            <summary>
            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}"`.
            </summary>
        </member>
        <member name="F:Google.Api.MonitoredResourceDescriptor.TypeFieldNumber">
            <summary>Field number for the "type" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceDescriptor.Type">
            <summary>
            Required. The monitored resource type. For example, the type
            `"cloudsql_database"` represents databases in Google Cloud SQL.
            The maximum length of this value is 256 characters.
            </summary>
        </member>
        <member name="F:Google.Api.MonitoredResourceDescriptor.DisplayNameFieldNumber">
            <summary>Field number for the "display_name" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceDescriptor.DisplayName">
            <summary>
            Optional. A concise name for the monitored resource type that might be
            displayed in user interfaces. It should be a Title Cased Noun Phrase,
            without any article or other determiners. For example,
            `"Google Cloud SQL Database"`.
            </summary>
        </member>
        <member name="F:Google.Api.MonitoredResourceDescriptor.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceDescriptor.Description">
            <summary>
            Optional. A detailed description of the monitored resource type that might
            be used in documentation.
            </summary>
        </member>
        <member name="F:Google.Api.MonitoredResourceDescriptor.LabelsFieldNumber">
            <summary>Field number for the "labels" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResourceDescriptor.Labels">
            <summary>
            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"`.
            </summary>
        </member>
        <member name="T:Google.Api.MonitoredResource">
             <summary>
             An object representing a resource that can be used for monitoring, logging,
             billing, or other purposes. Examples include virtual machine instances,
             databases, and storage devices such as disks. The `type` field identifies a
             [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's
             schema. Information in the `labels` field identifies the actual resource and
             its attributes according to the schema. For example, a particular Compute
             Engine VM instance could be represented by the following object, because the
             [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels
             `"instance_id"` and `"zone"`:
            
                 { "type": "gce_instance",
                   "labels": { "instance_id": "12345678901234",
                               "zone": "us-central1-a" }}
             </summary>
        </member>
        <member name="F:Google.Api.MonitoredResource.TypeFieldNumber">
            <summary>Field number for the "type" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResource.Type">
            <summary>
            Required. The monitored resource type. This field must match
            the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For
            example, the type of a Cloud SQL database is `"cloudsql_database"`.
            </summary>
        </member>
        <member name="F:Google.Api.MonitoredResource.LabelsFieldNumber">
            <summary>Field number for the "labels" field.</summary>
        </member>
        <member name="P:Google.Api.MonitoredResource.Labels">
            <summary>
            Required. Values for all of the labels listed in the associated monitored
            resource descriptor. For example, Cloud SQL databases use the labels
            `"database_id"` and `"zone"`.
            </summary>
        </member>
        <member name="T:Google.Api.MonitoringReflection">
            <summary>Holder for reflection information generated from google/api/monitoring.proto</summary>
        </member>
        <member name="P:Google.Api.MonitoringReflection.Descriptor">
            <summary>File descriptor for google/api/monitoring.proto</summary>
        </member>
        <member name="T:Google.Api.Monitoring">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.Monitoring.ProducerDestinationsFieldNumber">
            <summary>Field number for the "producer_destinations" field.</summary>
        </member>
        <member name="P:Google.Api.Monitoring.ProducerDestinations">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.Monitoring.ConsumerDestinationsFieldNumber">
            <summary>Field number for the "consumer_destinations" field.</summary>
        </member>
        <member name="P:Google.Api.Monitoring.ConsumerDestinations">
            <summary>
            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.
            </summary>
        </member>
        <member name="T:Google.Api.Monitoring.Types">
            <summary>Container for nested types declared in the Monitoring message type.</summary>
        </member>
        <member name="T:Google.Api.Monitoring.Types.MonitoringDestination">
            <summary>
            Configuration of a specific monitoring destination (the producer project
            or the consumer project).
            </summary>
        </member>
        <member name="F:Google.Api.Monitoring.Types.MonitoringDestination.MonitoredResourceFieldNumber">
            <summary>Field number for the "monitored_resource" field.</summary>
        </member>
        <member name="P:Google.Api.Monitoring.Types.MonitoringDestination.MonitoredResource">
            <summary>
            The monitored resource type. The type must be defined in
            [Service.monitored_resources][google.api.Service.monitored_resources] section.
            </summary>
        </member>
        <member name="F:Google.Api.Monitoring.Types.MonitoringDestination.MetricsFieldNumber">
            <summary>Field number for the "metrics" field.</summary>
        </member>
        <member name="P:Google.Api.Monitoring.Types.MonitoringDestination.Metrics">
            <summary>
            Names of the metrics to report to this monitoring destination.
            Each name must be defined in [Service.metrics][google.api.Service.metrics] section.
            </summary>
        </member>
        <member name="T:Google.Api.QuotaReflection">
            <summary>Holder for reflection information generated from google/api/quota.proto</summary>
        </member>
        <member name="P:Google.Api.QuotaReflection.Descriptor">
            <summary>File descriptor for google/api/quota.proto</summary>
        </member>
        <member name="T:Google.Api.Quota">
             <summary>
             Quota configuration helps to achieve fairness and budgeting in service
             usage.
            
             The quota configuration works this way:
             - The service configuration defines a set of metrics.
             - For API calls, the quota.metric_rules maps methods to metrics with
               corresponding costs.
             - The quota.limits defines limits on the metrics, which will be used for
               quota checks at runtime.
            
             An example quota configuration in yaml format:
            
                quota:
                  limits:
            
                  - name: apiWriteQpsPerProject
                    metric: library.googleapis.com/write_calls
                    unit: "1/min/{project}"  # rate limit for consumer projects
                    values:
                      STANDARD: 10000
            
                  # The metric rules bind all methods to the read_calls metric,
                  # except for the UpdateBook and DeleteBook methods. These two methods
                  # are mapped to the write_calls metric, with the UpdateBook method
                  # consuming at twice rate as the DeleteBook method.
                  metric_rules:
                  - selector: "*"
                    metric_costs:
                      library.googleapis.com/read_calls: 1
                  - selector: google.example.library.v1.LibraryService.UpdateBook
                    metric_costs:
                      library.googleapis.com/write_calls: 2
                  - selector: google.example.library.v1.LibraryService.DeleteBook
                    metric_costs:
                      library.googleapis.com/write_calls: 1
            
              Corresponding Metric definition:
            
                  metrics:
                  - name: library.googleapis.com/read_calls
                    display_name: Read requests
                    metric_kind: DELTA
                    value_type: INT64
            
                  - name: library.googleapis.com/write_calls
                    display_name: Write requests
                    metric_kind: DELTA
                    value_type: INT64
             </summary>
        </member>
        <member name="F:Google.Api.Quota.LimitsFieldNumber">
            <summary>Field number for the "limits" field.</summary>
        </member>
        <member name="P:Google.Api.Quota.Limits">
             <summary>
             List of `QuotaLimit` definitions for the service.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.Quota.MetricRulesFieldNumber">
            <summary>Field number for the "metric_rules" field.</summary>
        </member>
        <member name="P:Google.Api.Quota.MetricRules">
             <summary>
             List of `MetricRule` definitions, each one mapping a selected method to one
             or more metrics.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="T:Google.Api.MetricRule">
             <summary>
             Bind API methods to metrics. Binding a method to a metric causes that
             metric's configured quota, billing, and monitoring behaviors to apply to the
             method call.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.MetricRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.MetricRule.Selector">
             <summary>
             Selects the methods to which this rule applies.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.MetricRule.MetricCostsFieldNumber">
            <summary>Field number for the "metric_costs" field.</summary>
        </member>
        <member name="P:Google.Api.MetricRule.MetricCosts">
             <summary>
             Metrics to update when the selected methods are called, and the associated
             cost applied to each metric.
            
             The key of the map is the metric name, and the values are the amount
             increased for the metric against which the quota limits are defined.
             The value must not be negative.
             </summary>
        </member>
        <member name="T:Google.Api.QuotaLimit">
            <summary>
            `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`.
            </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Name">
             <summary>
             Name of the quota limit. The name is used to refer to the limit when
             overriding the default limit on per-consumer basis.
            
             For group-based quota limits, the name must be unique within the quota
             group. If a name is not provided, it will be generated from the limit_by
             and duration fields.
            
             For metric-based quota limits, the name must be provided, and it must be
             unique within the service. The name can only include alphanumeric
             characters as well as '-'.
            
             The 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.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Description">
            <summary>
            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`).
            </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.DefaultLimitFieldNumber">
            <summary>Field number for the "default_limit" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.DefaultLimit">
             <summary>
             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.
            
             Used by group-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.MaxLimitFieldNumber">
            <summary>Field number for the "max_limit" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.MaxLimit">
             <summary>
             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.
            
             Used by group-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.FreeTierFieldNumber">
            <summary>Field number for the "free_tier" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.FreeTier">
             <summary>
             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.
            
             Used by group-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.DurationFieldNumber">
            <summary>Field number for the "duration" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Duration">
             <summary>
             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.
            
             Used by group-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.MetricFieldNumber">
            <summary>Field number for the "metric" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Metric">
             <summary>
             The name of the metric this quota limit applies to. The quota limits with
             the same metric will be checked together during runtime. The metric must be
             defined within the service config.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.UnitFieldNumber">
            <summary>Field number for the "unit" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Unit">
             <summary>
             Specify the unit of the quota limit. It uses the same syntax as
             [Metric.unit][]. The supported unit kinds are determined by the quota
             backend system.
            
             The [Google Service Control](https://cloud.google.com/service-control)
             supports the following unit components:
             * One of the time intevals:
               * "/min"  for quota every minute.
               * "/d"  for quota every 24 hours, starting 00:00 US Pacific Time.
               * Otherwise the quota won't be reset by time, such as storage limit.
             * One and only one of the granted containers:
               * "/{organization}" quota for an organization.
               * "/{project}" quota for a project.
               * "/{folder}" quota for a folder.
               * "/{resource}" quota for a universal resource.
             * Zero or more quota segmentation dimension. Not all combos are valid.
               * "/{region}" quota for every region. Not to be used with time intervals.
               * Otherwise the resources granted on the target is not segmented.
               * "/{zone}" quota for every zone. Not to be used with time intervals.
               * Otherwise the resources granted on the target is not segmented.
               * "/{resource}" quota for a resource associated with a project or org.
            
             Here are some examples:
             * "1/min/{project}" for quota per minute per project.
             * "1/min/{user}" for quota per minute per user.
             * "1/min/{organization}" for quota per minute per organization.
            
             Note: the order of unit components is insignificant.
             The "1" at the beginning is required to follow the metric unit syntax.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.ValuesFieldNumber">
            <summary>Field number for the "values" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.Values">
             <summary>
             Tiered limit values. Also allows for regional or zone overrides for these
             values if "/{region}" or "/{zone}" is specified in the unit field.
            
             Currently supported tiers from low to high:
             VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
            
             To apply different limit values for users according to their tiers, specify
             the values for the tiers you want to differentiate. For example:
             {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
            
             The limit value for each tier is optional except for the tier STANDARD.
             The limit value for an unspecified tier falls to the value of its next
             tier towards tier STANDARD. For the above example, the limit value for tier
             STANDARD is 500.
            
             To apply the same limit value for all users, just specify limit value for
             tier STANDARD. For example: {STANDARD:500}.
            
             To apply a regional overide for a tier, add a map entry with key
             "&lt;TIER>/&lt;region>", where &lt;region> is a region name. Similarly, for a zone
             override, add a map entry with key "&lt;TIER>/{zone}".
             Further, a wildcard can be used at the end of a zone name in order to
             specify zone level overrides. For example:
             LOW: 10, STANDARD: 50, HIGH: 100,
             LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
             LOW/us-central1-*: 10, STANDARD/us-central1-*: 20, HIGH/us-central1-*: 80
            
             The regional overrides tier set for each region must be the same as
             the tier set for default limit values. Same rule applies for zone overrides
             tier as well.
            
             Used by metric-based quotas only.
             </summary>
        </member>
        <member name="F:Google.Api.QuotaLimit.DisplayNameFieldNumber">
            <summary>Field number for the "display_name" field.</summary>
        </member>
        <member name="P:Google.Api.QuotaLimit.DisplayName">
            <summary>
            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.
            </summary>
        </member>
        <member name="T:Google.Api.ServiceReflection">
            <summary>Holder for reflection information generated from google/api/service.proto</summary>
        </member>
        <member name="P:Google.Api.ServiceReflection.Descriptor">
            <summary>File descriptor for google/api/service.proto</summary>
        </member>
        <member name="T:Google.Api.Service">
             <summary>
             `Service` is the root object of Google service configuration schema. It
             describes basic information about a service, such as the name and the
             title, and delegates other aspects to sub-sections. Each sub-section is
             either a proto message or a repeated proto message that configures a
             specific aspect, such as auth. See each proto message definition for details.
            
             Example:
            
                 type: google.api.Service
                 config_version: 3
                 name: calendar.googleapis.com
                 title: Google Calendar API
                 apis:
                 - name: google.calendar.v3.Calendar
                 authentication:
                   providers:
                   - id: google_calendar_auth
                     jwks_uri: https://www.googleapis.com/oauth2/v1/certs
                     issuer: https://securetoken.google.com
                   rules:
                   - selector: "*"
                     requirements:
                       provider_id: google_calendar_auth
             </summary>
        </member>
        <member name="F:Google.Api.Service.ConfigVersionFieldNumber">
            <summary>Field number for the "config_version" field.</summary>
        </member>
        <member name="P:Google.Api.Service.ConfigVersion">
            <summary>
            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`.
            </summary>
        </member>
        <member name="F:Google.Api.Service.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Name">
            <summary>
            The DNS address at which this service is available,
            e.g. `calendar.googleapis.com`.
            </summary>
        </member>
        <member name="F:Google.Api.Service.IdFieldNumber">
            <summary>Field number for the "id" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Id">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.Service.TitleFieldNumber">
            <summary>Field number for the "title" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Title">
            <summary>
            The product title associated with this service.
            </summary>
        </member>
        <member name="F:Google.Api.Service.ProducerProjectIdFieldNumber">
            <summary>Field number for the "producer_project_id" field.</summary>
        </member>
        <member name="P:Google.Api.Service.ProducerProjectId">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.Service.ApisFieldNumber">
            <summary>Field number for the "apis" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Apis">
            <summary>
            A list of API interfaces exported by this service. Only the `name` field
            of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration
            author, as the remaining fields will be derived from the IDL during the
            normalization process. It is an error to specify an API interface here
            which cannot be resolved against the associated IDL files.
            </summary>
        </member>
        <member name="F:Google.Api.Service.Types_FieldNumber">
            <summary>Field number for the "types" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Types_">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.Service.EnumsFieldNumber">
            <summary>Field number for the "enums" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Enums">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.Service.DocumentationFieldNumber">
            <summary>Field number for the "documentation" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Documentation">
            <summary>
            Additional API documentation.
            </summary>
        </member>
        <member name="F:Google.Api.Service.BackendFieldNumber">
            <summary>Field number for the "backend" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Backend">
            <summary>
            API backend configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.HttpFieldNumber">
            <summary>Field number for the "http" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Http">
            <summary>
            HTTP configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.QuotaFieldNumber">
            <summary>Field number for the "quota" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Quota">
            <summary>
            Quota configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.AuthenticationFieldNumber">
            <summary>Field number for the "authentication" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Authentication">
            <summary>
            Auth configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.ContextFieldNumber">
            <summary>Field number for the "context" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Context">
            <summary>
            Context configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.UsageFieldNumber">
            <summary>Field number for the "usage" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Usage">
            <summary>
            Configuration controlling usage of this service.
            </summary>
        </member>
        <member name="F:Google.Api.Service.EndpointsFieldNumber">
            <summary>Field number for the "endpoints" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Endpoints">
            <summary>
            Configuration for network endpoints.  If this is empty, then an endpoint
            with the same name as the service is automatically generated to service all
            defined APIs.
            </summary>
        </member>
        <member name="F:Google.Api.Service.ControlFieldNumber">
            <summary>Field number for the "control" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Control">
            <summary>
            Configuration for the service control plane.
            </summary>
        </member>
        <member name="F:Google.Api.Service.LogsFieldNumber">
            <summary>Field number for the "logs" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Logs">
            <summary>
            Defines the logs used by this service.
            </summary>
        </member>
        <member name="F:Google.Api.Service.MetricsFieldNumber">
            <summary>Field number for the "metrics" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Metrics">
            <summary>
            Defines the metrics used by this service.
            </summary>
        </member>
        <member name="F:Google.Api.Service.MonitoredResourcesFieldNumber">
            <summary>Field number for the "monitored_resources" field.</summary>
        </member>
        <member name="P:Google.Api.Service.MonitoredResources">
            <summary>
            Defines the monitored resources used by this service. This is required
            by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
            </summary>
        </member>
        <member name="F:Google.Api.Service.LoggingFieldNumber">
            <summary>Field number for the "logging" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Logging">
            <summary>
            Logging configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.MonitoringFieldNumber">
            <summary>Field number for the "monitoring" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Monitoring">
            <summary>
            Monitoring configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.SystemParametersFieldNumber">
            <summary>Field number for the "system_parameters" field.</summary>
        </member>
        <member name="P:Google.Api.Service.SystemParameters">
            <summary>
            System parameter configuration.
            </summary>
        </member>
        <member name="F:Google.Api.Service.SourceInfoFieldNumber">
            <summary>Field number for the "source_info" field.</summary>
        </member>
        <member name="P:Google.Api.Service.SourceInfo">
            <summary>
            Output only. The source information for this configuration if available.
            </summary>
        </member>
        <member name="F:Google.Api.Service.ExperimentalFieldNumber">
            <summary>Field number for the "experimental" field.</summary>
        </member>
        <member name="P:Google.Api.Service.Experimental">
            <summary>
            Experimental configuration.
            </summary>
        </member>
        <member name="T:Google.Api.SourceInfoReflection">
            <summary>Holder for reflection information generated from google/api/source_info.proto</summary>
        </member>
        <member name="P:Google.Api.SourceInfoReflection.Descriptor">
            <summary>File descriptor for google/api/source_info.proto</summary>
        </member>
        <member name="T:Google.Api.SourceInfo">
            <summary>
            Source information used to create a Service Config
            </summary>
        </member>
        <member name="F:Google.Api.SourceInfo.SourceFilesFieldNumber">
            <summary>Field number for the "source_files" field.</summary>
        </member>
        <member name="P:Google.Api.SourceInfo.SourceFiles">
            <summary>
            All files used during config generation.
            </summary>
        </member>
        <member name="T:Google.Api.SystemParameterReflection">
            <summary>Holder for reflection information generated from google/api/system_parameter.proto</summary>
        </member>
        <member name="P:Google.Api.SystemParameterReflection.Descriptor">
            <summary>File descriptor for google/api/system_parameter.proto</summary>
        </member>
        <member name="T:Google.Api.SystemParameters">
             <summary>
             ### 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.
             </summary>
        </member>
        <member name="F:Google.Api.SystemParameters.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameters.Rules">
             <summary>
             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 for all methods
            
                 system_parameters
                   rules:
                     - selector: "*"
                       parameters:
                         - name: api_key
                           url_query_parameter: api_key
            
             Example: define 2 api key names for a specific method.
            
                 system_parameters
                   rules:
                     - selector: "/ListShelves"
                       parameters:
                         - name: api_key
                           http_header: Api-Key1
                         - name: api_key
                           http_header: Api-Key2
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="T:Google.Api.SystemParameterRule">
            <summary>
            Define a system parameter rule mapping system parameter definitions to
            methods.
            </summary>
        </member>
        <member name="F:Google.Api.SystemParameterRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameterRule.Selector">
             <summary>
             Selects the methods to which this rule applies. Use '*' to indicate all
             methods in all APIs.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.SystemParameterRule.ParametersFieldNumber">
            <summary>Field number for the "parameters" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameterRule.Parameters">
            <summary>
            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.
            </summary>
        </member>
        <member name="T:Google.Api.SystemParameter">
            <summary>
            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.
            </summary>
        </member>
        <member name="F:Google.Api.SystemParameter.NameFieldNumber">
            <summary>Field number for the "name" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameter.Name">
            <summary>
            Define the name of the parameter, such as "api_key" . It is case sensitive.
            </summary>
        </member>
        <member name="F:Google.Api.SystemParameter.HttpHeaderFieldNumber">
            <summary>Field number for the "http_header" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameter.HttpHeader">
            <summary>
            Define the HTTP header name to use for the parameter. It is case
            insensitive.
            </summary>
        </member>
        <member name="F:Google.Api.SystemParameter.UrlQueryParameterFieldNumber">
            <summary>Field number for the "url_query_parameter" field.</summary>
        </member>
        <member name="P:Google.Api.SystemParameter.UrlQueryParameter">
            <summary>
            Define the URL query parameter name to use for the parameter. It is case
            sensitive.
            </summary>
        </member>
        <member name="T:Google.Api.UsageReflection">
            <summary>Holder for reflection information generated from google/api/usage.proto</summary>
        </member>
        <member name="P:Google.Api.UsageReflection.Descriptor">
            <summary>File descriptor for google/api/usage.proto</summary>
        </member>
        <member name="T:Google.Api.Usage">
            <summary>
            Configuration controlling usage of a service.
            </summary>
        </member>
        <member name="F:Google.Api.Usage.RequirementsFieldNumber">
            <summary>Field number for the "requirements" field.</summary>
        </member>
        <member name="P:Google.Api.Usage.Requirements">
            <summary>
            Requirements that must be satisfied before a consumer project can use the
            service. Each requirement is of the form &lt;service.name>/&lt;requirement-id>;
            for example 'serviceusage.googleapis.com/billing-enabled'.
            </summary>
        </member>
        <member name="F:Google.Api.Usage.RulesFieldNumber">
            <summary>Field number for the "rules" field.</summary>
        </member>
        <member name="P:Google.Api.Usage.Rules">
             <summary>
             A list of usage rules that apply to individual API methods.
            
             **NOTE:** All service configuration rules follow "last one wins" order.
             </summary>
        </member>
        <member name="F:Google.Api.Usage.ProducerNotificationChannelFieldNumber">
            <summary>Field number for the "producer_notification_channel" field.</summary>
        </member>
        <member name="P:Google.Api.Usage.ProducerNotificationChannel">
             <summary>
             The full resource name of a channel used for sending notifications to the
             service producer.
            
             Google Service Management currently only supports
             [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
             channel. To use Google Cloud Pub/Sub as the channel, this must be the name
             of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
             documented in https://cloud.google.com/pubsub/docs/overview.
             </summary>
        </member>
        <member name="T:Google.Api.UsageRule">
             <summary>
             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
             </summary>
        </member>
        <member name="F:Google.Api.UsageRule.SelectorFieldNumber">
            <summary>Field number for the "selector" field.</summary>
        </member>
        <member name="P:Google.Api.UsageRule.Selector">
             <summary>
             Selects the methods to which this rule applies. Use '*' to indicate all
             methods in all APIs.
            
             Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
             </summary>
        </member>
        <member name="F:Google.Api.UsageRule.AllowUnregisteredCallsFieldNumber">
            <summary>Field number for the "allow_unregistered_calls" field.</summary>
        </member>
        <member name="P:Google.Api.UsageRule.AllowUnregisteredCalls">
            <summary>
            True, if the method allows unregistered calls; false otherwise.
            </summary>
        </member>
        <member name="T:Google.Rpc.CodeReflection">
            <summary>Holder for reflection information generated from google/rpc/code.proto</summary>
        </member>
        <member name="P:Google.Rpc.CodeReflection.Descriptor">
            <summary>File descriptor for google/rpc/code.proto</summary>
        </member>
        <member name="T:Google.Rpc.Code">
             <summary>
             The canonical error codes for Google APIs.
            
             Sometimes multiple error codes may apply.  Services should return
             the most specific error code that applies.  For example, prefer
             `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply.
             Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`.
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Ok">
             <summary>
             Not an error; returned on success
            
             HTTP Mapping: 200 OK
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Cancelled">
             <summary>
             The operation was cancelled, typically by the caller.
            
             HTTP Mapping: 499 Client Closed Request
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Unknown">
             <summary>
             Unknown error.  For example, this error may be returned when
             a `Status` value received from another address space belongs to
             an error space that is not known in this address space.  Also
             errors raised by APIs that do not return enough error information
             may be converted to this error.
            
             HTTP Mapping: 500 Internal Server Error
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.InvalidArgument">
             <summary>
             The client specified an invalid argument.  Note that this differs
             from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments
             that are problematic regardless of the state of the system
             (e.g., a malformed file name).
            
             HTTP Mapping: 400 Bad Request
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.DeadlineExceeded">
             <summary>
             The deadline expired before the operation could complete. For operations
             that change the state of the system, this error may be returned
             even if the operation has completed successfully.  For example, a
             successful response from a server could have been delayed long
             enough for the deadline to expire.
            
             HTTP Mapping: 504 Gateway Timeout
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.NotFound">
             <summary>
             Some requested entity (e.g., file or directory) was not found.
             For privacy reasons, this code *may* be returned when the client
             does not have the access rights to the entity, though such usage is
             discouraged.
            
             HTTP Mapping: 404 Not Found
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.AlreadyExists">
             <summary>
             The entity that a client attempted to create (e.g., file or directory)
             already exists.
            
             HTTP Mapping: 409 Conflict
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.PermissionDenied">
             <summary>
             The caller does not have permission to execute the specified
             operation. `PERMISSION_DENIED` must not be used for rejections
             caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
             instead for those errors). `PERMISSION_DENIED` must not be
             used if the caller can not be identified (use `UNAUTHENTICATED`
             instead for those errors).
            
             HTTP Mapping: 403 Forbidden
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Unauthenticated">
             <summary>
             The request does not have valid authentication credentials for the
             operation.
            
             HTTP Mapping: 401 Unauthorized
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.ResourceExhausted">
             <summary>
             Some resource has been exhausted, perhaps a per-user quota, or
             perhaps the entire file system is out of space.
            
             HTTP Mapping: 429 Too Many Requests
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.FailedPrecondition">
             <summary>
             The operation was rejected because the system is not in a state
             required for the operation's execution.  For example, the directory
             to be deleted is non-empty, an rmdir operation is applied to
             a non-directory, etc.
            
             Service implementors can use the following guidelines to decide
             between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
              (a) Use `UNAVAILABLE` if the client can retry just the failing call.
              (b) Use `ABORTED` if the client should retry at a higher level
                  (e.g., restarting a read-modify-write sequence).
              (c) Use `FAILED_PRECONDITION` if the client should not retry until
                  the system state has been explicitly fixed.  E.g., if an "rmdir"
                  fails because the directory is non-empty, `FAILED_PRECONDITION`
                  should be returned since the client should not retry unless
                  the files are deleted from the directory.
            
             HTTP Mapping: 400 Bad Request
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Aborted">
             <summary>
             The operation was aborted, typically due to a concurrency issue such as
             a sequencer check failure or transaction abort.
            
             See the guidelines above for deciding between `FAILED_PRECONDITION`,
             `ABORTED`, and `UNAVAILABLE`.
            
             HTTP Mapping: 409 Conflict
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.OutOfRange">
             <summary>
             The operation was attempted past the valid range.  E.g., seeking or
             reading past end-of-file.
            
             Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
             be fixed if the system state changes. For example, a 32-bit file
             system will generate `INVALID_ARGUMENT` if asked to read at an
             offset that is not in the range [0,2^32-1], but it will generate
             `OUT_OF_RANGE` if asked to read from an offset past the current
             file size.
            
             There is a fair bit of overlap between `FAILED_PRECONDITION` and
             `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific
             error) when it applies so that callers who are iterating through
             a space can easily look for an `OUT_OF_RANGE` error to detect when
             they are done.
            
             HTTP Mapping: 400 Bad Request
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Unimplemented">
             <summary>
             The operation is not implemented or is not supported/enabled in this
             service.
            
             HTTP Mapping: 501 Not Implemented
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Internal">
             <summary>
             Internal errors.  This means that some invariants expected by the
             underlying system have been broken.  This error code is reserved
             for serious errors.
            
             HTTP Mapping: 500 Internal Server Error
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.Unavailable">
             <summary>
             The service is currently unavailable.  This is most likely a
             transient condition, which can be corrected by retrying with
             a backoff.
            
             See the guidelines above for deciding between `FAILED_PRECONDITION`,
             `ABORTED`, and `UNAVAILABLE`.
            
             HTTP Mapping: 503 Service Unavailable
             </summary>
        </member>
        <member name="F:Google.Rpc.Code.DataLoss">
             <summary>
             Unrecoverable data loss or corruption.
            
             HTTP Mapping: 500 Internal Server Error
             </summary>
        </member>
        <member name="T:Google.Rpc.ErrorDetailsReflection">
            <summary>Holder for reflection information generated from google/rpc/error_details.proto</summary>
        </member>
        <member name="P:Google.Rpc.ErrorDetailsReflection.Descriptor">
            <summary>File descriptor for google/rpc/error_details.proto</summary>
        </member>
        <member name="T:Google.Rpc.RetryInfo">
             <summary>
             Describes when the clients can retry a failed request. Clients could ignore
             the recommendation here or retry when this information is missing from error
             responses.
            
             It's always recommended that clients should use exponential backoff when
             retrying.
            
             Clients should wait until `retry_delay` amount of time has passed since
             receiving the error response before retrying.  If retrying requests also
             fail, clients should use an exponential backoff scheme to gradually increase
             the delay between retries based on `retry_delay`, until either a maximum
             number of retires have been reached or a maximum retry delay cap has been
             reached.
             </summary>
        </member>
        <member name="F:Google.Rpc.RetryInfo.RetryDelayFieldNumber">
            <summary>Field number for the "retry_delay" field.</summary>
        </member>
        <member name="P:Google.Rpc.RetryInfo.RetryDelay">
            <summary>
            Clients should wait at least this long between retrying the same request.
            </summary>
        </member>
        <member name="T:Google.Rpc.DebugInfo">
            <summary>
            Describes additional debugging info.
            </summary>
        </member>
        <member name="F:Google.Rpc.DebugInfo.StackEntriesFieldNumber">
            <summary>Field number for the "stack_entries" field.</summary>
        </member>
        <member name="P:Google.Rpc.DebugInfo.StackEntries">
            <summary>
            The stack trace entries indicating where the error occurred.
            </summary>
        </member>
        <member name="F:Google.Rpc.DebugInfo.DetailFieldNumber">
            <summary>Field number for the "detail" field.</summary>
        </member>
        <member name="P:Google.Rpc.DebugInfo.Detail">
            <summary>
            Additional debugging information provided by the server.
            </summary>
        </member>
        <member name="T:Google.Rpc.QuotaFailure">
             <summary>
             Describes how a quota check failed.
            
             For example if a daily limit was exceeded for the calling project,
             a service could respond with a QuotaFailure detail containing the project
             id and the description of the quota limit that was exceeded.  If the
             calling project hasn't enabled the service in the developer console, then
             a service could respond with the project id and set `service_disabled`
             to true.
            
             Also see RetryDetail and Help types for other details about handling a
             quota failure.
             </summary>
        </member>
        <member name="F:Google.Rpc.QuotaFailure.ViolationsFieldNumber">
            <summary>Field number for the "violations" field.</summary>
        </member>
        <member name="P:Google.Rpc.QuotaFailure.Violations">
            <summary>
            Describes all quota violations.
            </summary>
        </member>
        <member name="T:Google.Rpc.QuotaFailure.Types">
            <summary>Container for nested types declared in the QuotaFailure message type.</summary>
        </member>
        <member name="T:Google.Rpc.QuotaFailure.Types.Violation">
            <summary>
            A message type used to describe a single quota violation.  For example, a
            daily quota or a custom quota that was exceeded.
            </summary>
        </member>
        <member name="F:Google.Rpc.QuotaFailure.Types.Violation.SubjectFieldNumber">
            <summary>Field number for the "subject" field.</summary>
        </member>
        <member name="P:Google.Rpc.QuotaFailure.Types.Violation.Subject">
            <summary>
            The subject on which the quota check failed.
            For example, "clientip:&lt;ip address of client>" or "project:&lt;Google
            developer project id>".
            </summary>
        </member>
        <member name="F:Google.Rpc.QuotaFailure.Types.Violation.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Rpc.QuotaFailure.Types.Violation.Description">
             <summary>
             A description of how the quota check failed. Clients can use this
             description to find more about the quota configuration in the service's
             public documentation, or find the relevant quota limit to adjust through
             developer console.
            
             For example: "Service disabled" or "Daily Limit for read operations
             exceeded".
             </summary>
        </member>
        <member name="T:Google.Rpc.BadRequest">
            <summary>
            Describes violations in a client request. This error type focuses on the
            syntactic aspects of the request.
            </summary>
        </member>
        <member name="F:Google.Rpc.BadRequest.FieldViolationsFieldNumber">
            <summary>Field number for the "field_violations" field.</summary>
        </member>
        <member name="P:Google.Rpc.BadRequest.FieldViolations">
            <summary>
            Describes all violations in a client request.
            </summary>
        </member>
        <member name="T:Google.Rpc.BadRequest.Types">
            <summary>Container for nested types declared in the BadRequest message type.</summary>
        </member>
        <member name="T:Google.Rpc.BadRequest.Types.FieldViolation">
            <summary>
            A message type used to describe a single bad request field.
            </summary>
        </member>
        <member name="F:Google.Rpc.BadRequest.Types.FieldViolation.FieldFieldNumber">
            <summary>Field number for the "field" field.</summary>
        </member>
        <member name="P:Google.Rpc.BadRequest.Types.FieldViolation.Field">
            <summary>
            A path leading to a field in the request body. The value will be a
            sequence of dot-separated identifiers that identify a protocol buffer
            field. E.g., "field_violations.field" would identify this field.
            </summary>
        </member>
        <member name="F:Google.Rpc.BadRequest.Types.FieldViolation.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Rpc.BadRequest.Types.FieldViolation.Description">
            <summary>
            A description of why the request element is bad.
            </summary>
        </member>
        <member name="T:Google.Rpc.RequestInfo">
            <summary>
            Contains metadata about the request that clients can attach when filing a bug
            or providing other forms of feedback.
            </summary>
        </member>
        <member name="F:Google.Rpc.RequestInfo.RequestIdFieldNumber">
            <summary>Field number for the "request_id" field.</summary>
        </member>
        <member name="P:Google.Rpc.RequestInfo.RequestId">
            <summary>
            An opaque string that should only be interpreted by the service generating
            it. For example, it can be used to identify requests in the service's logs.
            </summary>
        </member>
        <member name="F:Google.Rpc.RequestInfo.ServingDataFieldNumber">
            <summary>Field number for the "serving_data" field.</summary>
        </member>
        <member name="P:Google.Rpc.RequestInfo.ServingData">
            <summary>
            Any data that was used to serve this request. For example, an encrypted
            stack trace that can be sent back to the service provider for debugging.
            </summary>
        </member>
        <member name="T:Google.Rpc.ResourceInfo">
            <summary>
            Describes the resource that is being accessed.
            </summary>
        </member>
        <member name="F:Google.Rpc.ResourceInfo.ResourceTypeFieldNumber">
            <summary>Field number for the "resource_type" field.</summary>
        </member>
        <member name="P:Google.Rpc.ResourceInfo.ResourceType">
            <summary>
            A name for the type of resource being accessed, e.g. "sql table",
            "cloud storage bucket", "file", "Google calendar"; or the type URL
            of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
            </summary>
        </member>
        <member name="F:Google.Rpc.ResourceInfo.ResourceNameFieldNumber">
            <summary>Field number for the "resource_name" field.</summary>
        </member>
        <member name="P:Google.Rpc.ResourceInfo.ResourceName">
            <summary>
            The name of the resource being accessed.  For example, a shared calendar
            name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
            error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
            </summary>
        </member>
        <member name="F:Google.Rpc.ResourceInfo.OwnerFieldNumber">
            <summary>Field number for the "owner" field.</summary>
        </member>
        <member name="P:Google.Rpc.ResourceInfo.Owner">
            <summary>
            The owner of the resource (optional).
            For example, "user:&lt;owner email>" or "project:&lt;Google developer project
            id>".
            </summary>
        </member>
        <member name="F:Google.Rpc.ResourceInfo.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Rpc.ResourceInfo.Description">
            <summary>
            Describes what error is encountered when accessing this resource.
            For example, updating a cloud project may require the `writer` permission
            on the developer console project.
            </summary>
        </member>
        <member name="T:Google.Rpc.Help">
             <summary>
             Provides links to documentation or for performing an out of band action.
            
             For example, if a quota check failed with an error indicating the calling
             project hasn't enabled the accessed service, this can contain a URL pointing
             directly to the right place in the developer console to flip the bit.
             </summary>
        </member>
        <member name="F:Google.Rpc.Help.LinksFieldNumber">
            <summary>Field number for the "links" field.</summary>
        </member>
        <member name="P:Google.Rpc.Help.Links">
            <summary>
            URL(s) pointing to additional information on handling the current error.
            </summary>
        </member>
        <member name="T:Google.Rpc.Help.Types">
            <summary>Container for nested types declared in the Help message type.</summary>
        </member>
        <member name="T:Google.Rpc.Help.Types.Link">
            <summary>
            Describes a URL link.
            </summary>
        </member>
        <member name="F:Google.Rpc.Help.Types.Link.DescriptionFieldNumber">
            <summary>Field number for the "description" field.</summary>
        </member>
        <member name="P:Google.Rpc.Help.Types.Link.Description">
            <summary>
            Describes what the link offers.
            </summary>
        </member>
        <member name="F:Google.Rpc.Help.Types.Link.UrlFieldNumber">
            <summary>Field number for the "url" field.</summary>
        </member>
        <member name="P:Google.Rpc.Help.Types.Link.Url">
            <summary>
            The URL of the link.
            </summary>
        </member>
        <member name="T:Google.Rpc.LocalizedMessage">
            <summary>
            Provides a localized error message that is safe to return to the user
            which can be attached to an RPC error.
            </summary>
        </member>
        <member name="F:Google.Rpc.LocalizedMessage.LocaleFieldNumber">
            <summary>Field number for the "locale" field.</summary>
        </member>
        <member name="P:Google.Rpc.LocalizedMessage.Locale">
            <summary>
            The locale used following the specification defined at
            http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
            Examples are: "en-US", "fr-CH", "es-MX"
            </summary>
        </member>
        <member name="F:Google.Rpc.LocalizedMessage.MessageFieldNumber">
            <summary>Field number for the "message" field.</summary>
        </member>
        <member name="P:Google.Rpc.LocalizedMessage.Message">
            <summary>
            The localized error message in the above locale.
            </summary>
        </member>
        <member name="T:Google.Rpc.StatusReflection">
            <summary>Holder for reflection information generated from google/rpc/status.proto</summary>
        </member>
        <member name="P:Google.Rpc.StatusReflection.Descriptor">
            <summary>File descriptor for google/rpc/status.proto</summary>
        </member>
        <member name="T:Google.Rpc.Status">
             <summary>
             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][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.
             </summary>
        </member>
        <member name="F:Google.Rpc.Status.CodeFieldNumber">
            <summary>Field number for the "code" field.</summary>
        </member>
        <member name="P:Google.Rpc.Status.Code">
            <summary>
            The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
            </summary>
        </member>
        <member name="F:Google.Rpc.Status.MessageFieldNumber">
            <summary>Field number for the "message" field.</summary>
        </member>
        <member name="P:Google.Rpc.Status.Message">
            <summary>
            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][google.rpc.Status.details] field, or localized by the client.
            </summary>
        </member>
        <member name="F:Google.Rpc.Status.DetailsFieldNumber">
            <summary>Field number for the "details" field.</summary>
        </member>
        <member name="P:Google.Rpc.Status.Details">
            <summary>
            A list of messages that carry the error details.  There will be a
            common set of message types for APIs to use.
            </summary>
        </member>
        <member name="T:Google.Type.ColorReflection">
            <summary>Holder for reflection information generated from google/type/color.proto</summary>
        </member>
        <member name="P:Google.Type.ColorReflection.Descriptor">
            <summary>File descriptor for google/type/color.proto</summary>
        </member>
        <member name="T:Google.Type.Color">
             <summary>
             Represents a color in the RGBA color space. This representation is designed
             for simplicity of conversion to/from color representations in various
             languages over compactness; for example, the fields of this representation
             can be trivially provided to the constructor of "java.awt.Color" in Java; it
             can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
             method in iOS; and, with just a little work, it can be easily formatted into
             a CSS "rgba()" string in JavaScript, as well. Here are some examples:
            
             Example (Java):
            
                  import com.google.type.Color;
            
                  // ...
                  public static java.awt.Color fromProto(Color protocolor) {
                    float alpha = protocolor.hasAlpha()
                        ? protocolor.getAlpha().getValue()
                        : 1.0;
            
                    return new java.awt.Color(
                        protocolor.getRed(),
                        protocolor.getGreen(),
                        protocolor.getBlue(),
                        alpha);
                  }
            
                  public static Color toProto(java.awt.Color color) {
                    float red = (float) color.getRed();
                    float green = (float) color.getGreen();
                    float blue = (float) color.getBlue();
                    float denominator = 255.0;
                    Color.Builder resultBuilder =
                        Color
                            .newBuilder()
                            .setRed(red / denominator)
                            .setGreen(green / denominator)
                            .setBlue(blue / denominator);
                    int alpha = color.getAlpha();
                    if (alpha != 255) {
                      result.setAlpha(
                          FloatValue
                              .newBuilder()
                              .setValue(((float) alpha) / denominator)
                              .build());
                    }
                    return resultBuilder.build();
                  }
                  // ...
            
             Example (iOS / Obj-C):
            
                  // ...
                  static UIColor* fromProto(Color* protocolor) {
                     float red = [protocolor red];
                     float green = [protocolor green];
                     float blue = [protocolor blue];
                     FloatValue* alpha_wrapper = [protocolor alpha];
                     float alpha = 1.0;
                     if (alpha_wrapper != nil) {
                       alpha = [alpha_wrapper value];
                     }
                     return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
                  }
            
                  static Color* toProto(UIColor* color) {
                      CGFloat red, green, blue, alpha;
                      if (![color getRed:&amp;red green:&amp;green blue:&amp;blue alpha:&amp;alpha]) {
                        return nil;
                      }
                      Color* result = [Color alloc] init];
                      [result setRed:red];
                      [result setGreen:green];
                      [result setBlue:blue];
                      if (alpha &lt;= 0.9999) {
                        [result setAlpha:floatWrapperWithValue(alpha)];
                      }
                      [result autorelease];
                      return result;
                 }
                 // ...
            
              Example (JavaScript):
            
                 // ...
            
                 var protoToCssColor = function(rgb_color) {
                    var redFrac = rgb_color.red || 0.0;
                    var greenFrac = rgb_color.green || 0.0;
                    var blueFrac = rgb_color.blue || 0.0;
                    var red = Math.floor(redFrac * 255);
                    var green = Math.floor(greenFrac * 255);
                    var blue = Math.floor(blueFrac * 255);
            
                    if (!('alpha' in rgb_color)) {
                       return rgbToCssColor_(red, green, blue);
                    }
            
                    var alphaFrac = rgb_color.alpha.value || 0.0;
                    var rgbParams = [red, green, blue].join(',');
                    return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
                 };
            
                 var rgbToCssColor_ = function(red, green, blue) {
                   var rgbNumber = new Number((red &lt;&lt; 16) | (green &lt;&lt; 8) | blue);
                   var hexString = rgbNumber.toString(16);
                   var missingZeros = 6 - hexString.length;
                   var resultBuilder = ['#'];
                   for (var i = 0; i &lt; missingZeros; i++) {
                      resultBuilder.push('0');
                   }
                   resultBuilder.push(hexString);
                   return resultBuilder.join('');
                 };
            
                 // ...
             </summary>
        </member>
        <member name="F:Google.Type.Color.RedFieldNumber">
            <summary>Field number for the "red" field.</summary>
        </member>
        <member name="P:Google.Type.Color.Red">
            <summary>
            The amount of red in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:Google.Type.Color.GreenFieldNumber">
            <summary>Field number for the "green" field.</summary>
        </member>
        <member name="P:Google.Type.Color.Green">
            <summary>
            The amount of green in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:Google.Type.Color.BlueFieldNumber">
            <summary>Field number for the "blue" field.</summary>
        </member>
        <member name="P:Google.Type.Color.Blue">
            <summary>
            The amount of blue in the color as a value in the interval [0, 1].
            </summary>
        </member>
        <member name="F:Google.Type.Color.AlphaFieldNumber">
            <summary>Field number for the "alpha" field.</summary>
        </member>
        <member name="P:Google.Type.Color.Alpha">
             <summary>
             The fraction of this color that should be applied to the pixel. That is,
             the final pixel color is defined by the equation:
            
               pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
            
             This means that a value of 1.0 corresponds to a solid color, whereas
             a value of 0.0 corresponds to a completely transparent color. This
             uses a wrapper message rather than a simple float scalar so that it is
             possible to distinguish between a default value and the value being unset.
             If omitted, this color object is to be rendered as a solid color
             (as if the alpha value had been explicitly given with a value of 1.0).
             </summary>
        </member>
        <member name="T:Google.Type.DateReflection">
            <summary>Holder for reflection information generated from google/type/date.proto</summary>
        </member>
        <member name="P:Google.Type.DateReflection.Descriptor">
            <summary>File descriptor for google/type/date.proto</summary>
        </member>
        <member name="T:Google.Type.Date">
            <summary>
            Represents a whole calendar date, e.g. date of birth. The time of day and
            time zone are either specified elsewhere or are not significant. The date
            is relative to the Proleptic Gregorian Calendar. The day may be 0 to
            represent a year and month where the day is not significant, e.g. credit card
            expiration date. The year may be 0 to represent a month and day independent
            of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][google.type.TimeOfDay]
            and `google.protobuf.Timestamp`.
            </summary>
        </member>
        <member name="F:Google.Type.Date.YearFieldNumber">
            <summary>Field number for the "year" field.</summary>
        </member>
        <member name="P:Google.Type.Date.Year">
            <summary>
            Year of date. Must be from 1 to 9999, or 0 if specifying a date without
            a year.
            </summary>
        </member>
        <member name="F:Google.Type.Date.MonthFieldNumber">
            <summary>Field number for the "month" field.</summary>
        </member>
        <member name="P:Google.Type.Date.Month">
            <summary>
            Month of year. Must be from 1 to 12.
            </summary>
        </member>
        <member name="F:Google.Type.Date.DayFieldNumber">
            <summary>Field number for the "day" field.</summary>
        </member>
        <member name="P:Google.Type.Date.Day">
            <summary>
            Day of month. Must be from 1 to 31 and valid for the year and month, or 0
            if specifying a year/month where the day is not significant.
            </summary>
        </member>
        <member name="T:Google.Type.DayofweekReflection">
            <summary>Holder for reflection information generated from google/type/dayofweek.proto</summary>
        </member>
        <member name="P:Google.Type.DayofweekReflection.Descriptor">
            <summary>File descriptor for google/type/dayofweek.proto</summary>
        </member>
        <member name="T:Google.Type.DayOfWeek">
            <summary>
            Represents a day of week.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Unspecified">
            <summary>
            The unspecified day-of-week.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Monday">
            <summary>
            The day-of-week of Monday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Tuesday">
            <summary>
            The day-of-week of Tuesday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Wednesday">
            <summary>
            The day-of-week of Wednesday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Thursday">
            <summary>
            The day-of-week of Thursday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Friday">
            <summary>
            The day-of-week of Friday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Saturday">
            <summary>
            The day-of-week of Saturday.
            </summary>
        </member>
        <member name="F:Google.Type.DayOfWeek.Sunday">
            <summary>
            The day-of-week of Sunday.
            </summary>
        </member>
        <member name="T:Google.Type.LatlngReflection">
            <summary>Holder for reflection information generated from google/type/latlng.proto</summary>
        </member>
        <member name="P:Google.Type.LatlngReflection.Descriptor">
            <summary>File descriptor for google/type/latlng.proto</summary>
        </member>
        <member name="T:Google.Type.LatLng">
             <summary>
             An object representing a latitude/longitude pair. This is expressed as a pair
             of doubles representing degrees latitude and degrees longitude. Unless
             specified otherwise, this must conform to the
             &lt;a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
             standard&lt;/a>. Values must be within normalized ranges.
            
             Example of normalization code in Python:
            
                 def NormalizeLongitude(longitude):
                   """Wraps decimal degrees longitude to [-180.0, 180.0]."""
                   q, r = divmod(longitude, 360.0)
                   if r > 180.0 or (r == 180.0 and q &lt;= -1.0):
                     return r - 360.0
                   return r
            
                 def NormalizeLatLng(latitude, longitude):
                   """Wraps decimal degrees latitude and longitude to
                   [-90.0, 90.0] and [-180.0, 180.0], respectively."""
                   r = latitude % 360.0
                   if r &lt;= 90.0:
                     return r, NormalizeLongitude(longitude)
                   elif r >= 270.0:
                     return r - 360, NormalizeLongitude(longitude)
                   else:
                     return 180 - r, NormalizeLongitude(longitude + 180.0)
            
                 assert 180.0 == NormalizeLongitude(180.0)
                 assert -180.0 == NormalizeLongitude(-180.0)
                 assert -179.0 == NormalizeLongitude(181.0)
                 assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
                 assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
                 assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
                 assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
                 assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
                 assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
                 assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
                 assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
                 assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
                 assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
             </summary>
        </member>
        <member name="F:Google.Type.LatLng.LatitudeFieldNumber">
            <summary>Field number for the "latitude" field.</summary>
        </member>
        <member name="P:Google.Type.LatLng.Latitude">
            <summary>
            The latitude in degrees. It must be in the range [-90.0, +90.0].
            </summary>
        </member>
        <member name="F:Google.Type.LatLng.LongitudeFieldNumber">
            <summary>Field number for the "longitude" field.</summary>
        </member>
        <member name="P:Google.Type.LatLng.Longitude">
            <summary>
            The longitude in degrees. It must be in the range [-180.0, +180.0].
            </summary>
        </member>
        <member name="T:Google.Type.MoneyReflection">
            <summary>Holder for reflection information generated from google/type/money.proto</summary>
        </member>
        <member name="P:Google.Type.MoneyReflection.Descriptor">
            <summary>File descriptor for google/type/money.proto</summary>
        </member>
        <member name="T:Google.Type.Money">
            <summary>
            Represents an amount of money with its currency type.
            </summary>
        </member>
        <member name="F:Google.Type.Money.CurrencyCodeFieldNumber">
            <summary>Field number for the "currency_code" field.</summary>
        </member>
        <member name="P:Google.Type.Money.CurrencyCode">
            <summary>
            The 3-letter currency code defined in ISO 4217.
            </summary>
        </member>
        <member name="F:Google.Type.Money.UnitsFieldNumber">
            <summary>Field number for the "units" field.</summary>
        </member>
        <member name="P:Google.Type.Money.Units">
            <summary>
            The whole units of the amount.
            For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
            </summary>
        </member>
        <member name="F:Google.Type.Money.NanosFieldNumber">
            <summary>Field number for the "nanos" field.</summary>
        </member>
        <member name="P:Google.Type.Money.Nanos">
            <summary>
            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.
            </summary>
        </member>
        <member name="T:Google.Type.PostalAddressReflection">
            <summary>Holder for reflection information generated from google/type/postal_address.proto</summary>
        </member>
        <member name="P:Google.Type.PostalAddressReflection.Descriptor">
            <summary>File descriptor for google/type/postal_address.proto</summary>
        </member>
        <member name="T:Google.Type.PostalAddress">
             <summary>
             Represents a postal address, e.g. for postal delivery or payments addresses.
             Given a postal address, a postal service can deliver items to a premise, P.O.
             Box or similar.
             It is not intended to model geographical locations (roads, towns,
             mountains).
            
             In typical usage an address would be created via user input or from importing
             existing data, depending on the type of process.
            
             Advice on address input / editing:
              - Use an i18n-ready address widget such as
                https://github.com/googlei18n/libaddressinput)
             - Users should not be presented with UI elements for input or editing of
               fields outside countries where that field is used.
            
             For more guidance on how to use this schema, please see:
             https://support.google.com/business/answer/6397478
             </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.RevisionFieldNumber">
            <summary>Field number for the "revision" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.Revision">
            <summary>
            The schema revision of the `PostalAddress`.
            All new revisions **must** be backward compatible with old revisions.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.RegionCodeFieldNumber">
            <summary>Field number for the "region_code" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.RegionCode">
            <summary>
            Required. CLDR region code of the country/region of the address. This
            is never inferred and it is up to the user to ensure the value is
            correct. See http://cldr.unicode.org/ and
            http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
            for details. Example: "CH" for Switzerland.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.LanguageCodeFieldNumber">
            <summary>Field number for the "language_code" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.LanguageCode">
             <summary>
             Optional. BCP-47 language code of the contents of this address (if
             known). This is often the UI language of the input form or is expected
             to match one of the languages used in the address' country/region, or their
             transliterated equivalents.
             This can affect formatting in certain countries, but is not critical
             to the correctness of the data and will never affect any validation or
             other non-formatting related operations.
            
             If this value is not known, it should be omitted (rather than specifying a
             possibly incorrect default).
            
             Examples: "zh-Hant", "ja", "ja-Latn", "en".
             </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.PostalCodeFieldNumber">
            <summary>Field number for the "postal_code" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.PostalCode">
            <summary>
            Optional. Postal code of the address. Not all countries use or require
            postal codes to be present, but where they are used, they may trigger
            additional validation with other parts of the address (e.g. state/zip
            validation in the U.S.A.).
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.SortingCodeFieldNumber">
            <summary>Field number for the "sorting_code" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.SortingCode">
            <summary>
            Optional. Additional, country-specific, sorting code. This is not used
            in most regions. Where it is used, the value is either a string like
            "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
            alone, representing the "sector code" (Jamaica), "delivery area indicator"
            (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.AdministrativeAreaFieldNumber">
            <summary>Field number for the "administrative_area" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.AdministrativeArea">
            <summary>
            Optional. Highest administrative subdivision which is used for postal
            addresses of a country or region.
            For example, this can be a state, a province, an oblast, or a prefecture.
            Specifically, for Spain this is the province and not the autonomous
            community (e.g. "Barcelona" and not "Catalonia").
            Many countries don't use an administrative area in postal addresses. E.g.
            in Switzerland this should be left unpopulated.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.LocalityFieldNumber">
            <summary>Field number for the "locality" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.Locality">
            <summary>
            Optional. Generally refers to the city/town portion of the address.
            Examples: US city, IT comune, UK post town.
            In regions of the world where localities are not well defined or do not fit
            into this structure well, leave locality empty and use address_lines.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.SublocalityFieldNumber">
            <summary>Field number for the "sublocality" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.Sublocality">
            <summary>
            Optional. Sublocality of the address.
            For example, this can be neighborhoods, boroughs, districts.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.AddressLinesFieldNumber">
            <summary>Field number for the "address_lines" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.AddressLines">
             <summary>
             Unstructured address lines describing the lower levels of an address.
            
             Because values in address_lines do not have type information and may
             sometimes contain multiple values in a single field (e.g.
             "Austin, TX"), it is important that the line order is clear. The order of
             address lines should be "envelope order" for the country/region of the
             address. In places where this can vary (e.g. Japan), address_language is
             used to make it explicit (e.g. "ja" for large-to-small ordering and
             "ja-Latn" or "en" for small-to-large). This way, the most specific line of
             an address can be selected based on the language.
            
             The minimum permitted structural representation of an address consists
             of a region_code with all remaining information placed in the
             address_lines. It would be possible to format such an address very
             approximately without geocoding, but no semantic reasoning could be
             made about any of the address components until it was at least
             partially resolved.
            
             Creating an address only containing a region_code and address_lines, and
             then geocoding is the recommended way to handle completely unstructured
             addresses (as opposed to guessing which parts of the address should be
             localities or administrative areas).
             </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.RecipientsFieldNumber">
            <summary>Field number for the "recipients" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.Recipients">
            <summary>
            Optional. The recipient at the address.
            This field may, under certain circumstances, contain multiline information.
            For example, it might contain "care of" information.
            </summary>
        </member>
        <member name="F:Google.Type.PostalAddress.OrganizationFieldNumber">
            <summary>Field number for the "organization" field.</summary>
        </member>
        <member name="P:Google.Type.PostalAddress.Organization">
            <summary>
            Optional. The name of the organization at the address.
            </summary>
        </member>
        <member name="T:Google.Type.TimeofdayReflection">
            <summary>Holder for reflection information generated from google/type/timeofday.proto</summary>
        </member>
        <member name="P:Google.Type.TimeofdayReflection.Descriptor">
            <summary>File descriptor for google/type/timeofday.proto</summary>
        </member>
        <member name="T:Google.Type.TimeOfDay">
            <summary>
            Represents a time of day. The date and time zone are either not significant
            or are specified elsewhere. An API may chose to allow leap seconds. Related
            types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
            </summary>
        </member>
        <member name="F:Google.Type.TimeOfDay.HoursFieldNumber">
            <summary>Field number for the "hours" field.</summary>
        </member>
        <member name="P:Google.Type.TimeOfDay.Hours">
            <summary>
            Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
            to allow the value "24:00:00" for scenarios like business closing time.
            </summary>
        </member>
        <member name="F:Google.Type.TimeOfDay.MinutesFieldNumber">
            <summary>Field number for the "minutes" field.</summary>
        </member>
        <member name="P:Google.Type.TimeOfDay.Minutes">
            <summary>
            Minutes of hour of day. Must be from 0 to 59.
            </summary>
        </member>
        <member name="F:Google.Type.TimeOfDay.SecondsFieldNumber">
            <summary>Field number for the "seconds" field.</summary>
        </member>
        <member name="P:Google.Type.TimeOfDay.Seconds">
            <summary>
            Seconds of minutes of the time. Must normally be from 0 to 59. An API may
            allow the value 60 if it allows leap-seconds.
            </summary>
        </member>
        <member name="F:Google.Type.TimeOfDay.NanosFieldNumber">
            <summary>Field number for the "nanos" field.</summary>
        </member>
        <member name="P:Google.Type.TimeOfDay.Nanos">
            <summary>
            Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
            </summary>
        </member>
    </members>
</doc>
