{
  "ownerDomain": "google.com",
  "mtlsRootUrl": "https://serviceconsumermanagement.mtls.googleapis.com/",
  "revision": "20201104",
  "servicePath": "",
  "ownerName": "Google",
  "schemas": {
    "V1Beta1QuotaBucket": {
      "type": "object",
      "properties": {
        "adminOverride": {
          "$ref": "V1Beta1QuotaOverride",
          "description": "Admin override on this quota bucket."
        },
        "defaultLimit": {
          "description": "The default limit of this quota bucket, as specified by the service configuration.",
          "format": "int64",
          "type": "string"
        },
        "effectiveLimit": {
          "format": "int64",
          "type": "string",
          "description": "The effective limit of this quota bucket. Equal to default_limit if there are no overrides."
        },
        "dimensions": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "The dimensions of this quota bucket. If this map is empty, this is the global bucket, which is the default quota value applied to all requests that do not have a more specific override. If this map is nonempty, the default limit, effective limit, and quota overrides apply only to requests that have the dimensions given in the map. For example, if the map has key \"region\" and value \"us-east-1\", then the specified effective limit is only effective in that region, and the specified overrides apply only in that region."
        },
        "consumerOverride": {
          "description": "Consumer override on this quota bucket.",
          "$ref": "V1Beta1QuotaOverride"
        },
        "producerOverride": {
          "$ref": "V1Beta1QuotaOverride",
          "description": "Producer override on this quota bucket."
        }
      },
      "description": "A quota bucket is a quota provisioning unit for a specific set of dimensions.",
      "id": "V1Beta1QuotaBucket"
    },
    "SystemParameterRule": {
      "properties": {
        "parameters": {
          "items": {
            "$ref": "SystemParameter"
          },
          "type": "array",
          "description": "Define parameters. Multiple names may be defined for a parameter. For a given method call, only one of them should be used. If multiple names are used the behavior is implementation-dependent. If none of the specified names are present the behavior is parameter-dependent."
        },
        "selector": {
          "type": "string",
          "description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details."
        }
      },
      "id": "SystemParameterRule",
      "type": "object",
      "description": "Define a system parameter rule mapping system parameter definitions to methods."
    },
    "V1beta1ServiceAccount": {
      "type": "object",
      "description": "A service account in the Identity and Access Management API.",
      "properties": {
        "email": {
          "description": "The email address of the service account.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "P4 SA resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceAccounts/default`"
        },
        "uniqueId": {
          "description": "The unique and stable id of the service account.",
          "type": "string"
        },
        "tag": {
          "type": "string",
          "description": "The P4 SA configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\"."
        },
        "iamAccountName": {
          "description": "Deprecated. See b/136209818.",
          "type": "string"
        }
      },
      "id": "V1beta1ServiceAccount"
    },
    "AuthRequirement": {
      "description": "User-defined authentication requirements, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).",
      "properties": {
        "providerId": {
          "type": "string",
          "description": "id from authentication provider. Example: provider_id: bookstore_auth"
        },
        "audiences": {
          "description": "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/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",
          "type": "string"
        }
      },
      "id": "AuthRequirement",
      "type": "object"
    },
    "MetricRule": {
      "description": "Bind API methods to metrics. Binding a method to a metric causes that metric's configured quota behaviors to apply to the method call.",
      "id": "MetricRule",
      "properties": {
        "selector": {
          "description": "Selects the methods to which this rule applies. Refer to selector for syntax details.",
          "type": "string"
        },
        "metricCosts": {
          "description": "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.",
          "type": "object",
          "additionalProperties": {
            "format": "int64",
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "Authentication": {
      "description": "`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",
      "id": "Authentication",
      "properties": {
        "rules": {
          "description": "A list of authentication rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "items": {
            "$ref": "AuthenticationRule"
          },
          "type": "array"
        },
        "providers": {
          "items": {
            "$ref": "AuthProvider"
          },
          "description": "Defines a set of authentication providers that a service supports.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "AuthenticationRule": {
      "type": "object",
      "properties": {
        "selector": {
          "description": "Selects the methods to which this rule applies. Refer to selector for syntax details.",
          "type": "string"
        },
        "allowWithoutCredential": {
          "description": "If true, the service accepts API keys without any other credential. This flag only applies to HTTP and gRPC requests.",
          "type": "boolean"
        },
        "oauth": {
          "$ref": "OAuthRequirements",
          "description": "The requirements for OAuth credentials."
        },
        "requirements": {
          "description": "Requirements for additional authentication providers.",
          "items": {
            "$ref": "AuthRequirement"
          },
          "type": "array"
        }
      },
      "description": "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.",
      "id": "AuthenticationRule"
    },
    "Quota": {
      "id": "Quota",
      "properties": {
        "limits": {
          "items": {
            "$ref": "QuotaLimit"
          },
          "type": "array",
          "description": "List of `QuotaLimit` definitions for the service."
        },
        "metricRules": {
          "items": {
            "$ref": "MetricRule"
          },
          "description": "List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.",
          "type": "array"
        }
      },
      "type": "object",
      "description": "Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - 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 "
    },
    "Context": {
      "description": "`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`. This also provides mechanism to allowlist any protobuf message extension that can be sent in grpc metadata using “x-goog-ext--bin” and “x-goog-ext--jspb” format. For example, list any service specific protobuf types that can appear in grpc metadata as follows in your yaml file: Example: context: rules: - selector: \"google.example.library.v1.LibraryService.CreateBook\" allowed_request_extensions: - google.foo.v1.NewExtension allowed_response_extensions: - google.foo.v1.NewExtension You can also specify extension ID instead of fully qualified extension name here.",
      "id": "Context",
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "description": "A list of RPC context rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "items": {
            "$ref": "ContextRule"
          }
        }
      }
    },
    "V1Beta1ListConsumerQuotaMetricsResponse": {
      "description": "Response message for ListConsumerQuotaMetrics.",
      "id": "V1Beta1ListConsumerQuotaMetricsResponse",
      "properties": {
        "metrics": {
          "items": {
            "$ref": "V1Beta1ConsumerQuotaMetric"
          },
          "type": "array",
          "description": "Quota settings for the consumer, organized by quota metric."
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token identifying which result to start with; returned by a previous list call."
        }
      },
      "type": "object"
    },
    "SystemParameters": {
      "id": "SystemParameters",
      "type": "object",
      "description": "### 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.",
      "properties": {
        "rules": {
          "type": "array",
          "description": "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.",
          "items": {
            "$ref": "SystemParameterRule"
          }
        }
      }
    },
    "Http": {
      "description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.",
      "properties": {
        "fullyDecodeReservedExpansion": {
          "description": "When set to true, URL path parameters will be fully URI-decoded except in cases of single segment matches in reserved expansion, where \"%2F\" will be left encoded. The default behavior is to not decode RFC 6570 reserved characters in multi segment matches.",
          "type": "boolean"
        },
        "rules": {
          "description": "A list of HTTP configuration rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "items": {
            "$ref": "HttpRule"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "Http"
    },
    "Option": {
      "type": "object",
      "id": "Option",
      "properties": {
        "value": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object",
          "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type."
        },
        "name": {
          "description": "The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `\"map_entry\"`. For custom options, it should be the fully-qualified name. For example, `\"google.api.http\"`.",
          "type": "string"
        }
      },
      "description": "A protocol buffer option, which can be attached to a message, field, enumeration, etc."
    },
    "MonitoringDestination": {
      "type": "object",
      "description": "Configuration of a specific monitoring destination (the producer project or the consumer project).",
      "id": "MonitoringDestination",
      "properties": {
        "metrics": {
          "items": {
            "type": "string"
          },
          "description": "Types of the metrics to report to this monitoring destination. Each type must be defined in Service.metrics section.",
          "type": "array"
        },
        "monitoredResource": {
          "description": "The monitored resource type. The type must be defined in Service.monitored_resources section.",
          "type": "string"
        }
      }
    },
    "SystemParameter": {
      "id": "SystemParameter",
      "type": "object",
      "description": "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.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Define the name of the parameter, such as \"api_key\" . It is case sensitive."
        },
        "httpHeader": {
          "type": "string",
          "description": "Define the HTTP header name to use for the parameter. It is case insensitive."
        },
        "urlQueryParameter": {
          "description": "Define the URL query parameter name to use for the parameter. It is case sensitive.",
          "type": "string"
        }
      }
    },
    "JwtLocation": {
      "properties": {
        "valuePrefix": {
          "description": "The value prefix. The value format is \"value_prefix{token}\" Only applies to \"in\" header type. Must be empty for \"in\" query type. If not empty, the header value has to match (case sensitive) this prefix. If not matched, JWT will not be extracted. If matched, JWT will be extracted after the prefix is removed. For example, for \"Authorization: Bearer {JWT}\", value_prefix=\"Bearer \" with a space at the end.",
          "type": "string"
        },
        "header": {
          "description": "Specifies HTTP header name to extract JWT token.",
          "type": "string"
        },
        "query": {
          "type": "string",
          "description": "Specifies URL query parameter name to extract JWT token."
        }
      },
      "type": "object",
      "description": "Specifies a location to extract JWT from an API request.",
      "id": "JwtLocation"
    },
    "MetricDescriptor": {
      "properties": {
        "type": {
          "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All user-defined metric types have the DNS name `custom.googleapis.com` or `external.googleapis.com`. Metric types should use a natural hierarchical grouping. For example: \"custom.googleapis.com/invoice/paid/amount\" \"external.googleapis.com/prometheus/up\" \"appengine.googleapis.com/http/server/response_latencies\"",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The resource name of the metric descriptor."
        },
        "labels": {
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array",
          "description": "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."
        },
        "monitoredResourceTypes": {
          "description": "Read-only. If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that is associated with this metric type can only be associated with one of the monitored resource types listed here.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string",
          "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\". This field is optional but it is recommended to be set for any metrics associated with user-visible concepts, such as Quota."
        },
        "metricKind": {
          "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of `metric_kind` and `value_type` might not be supported.",
          "type": "string",
          "enumDescriptions": [
            "Do not use this default value.",
            "An instantaneous measurement of a value.",
            "The change in a value during a time interval.",
            "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."
          ],
          "enum": [
            "METRIC_KIND_UNSPECIFIED",
            "GAUGE",
            "DELTA",
            "CUMULATIVE"
          ]
        },
        "launchStage": {
          "type": "string",
          "description": "Optional. The launch stage of the metric definition.",
          "enumDescriptions": [
            "Do not use this default value.",
            "The feature is not yet implemented. Users can not use it.",
            "Prelaunch features are hidden from users and are only visible internally.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation."
          ],
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "UNIMPLEMENTED",
            "PRELAUNCH",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ]
        },
        "valueType": {
          "description": "Whether the measurement is an integer, a floating-point number, etc. Some combinations of `metric_kind` and `value_type` might not be supported.",
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "BOOL",
            "INT64",
            "DOUBLE",
            "STRING",
            "DISTRIBUTION",
            "MONEY"
          ],
          "type": "string",
          "enumDescriptions": [
            "Do not use this default value.",
            "The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.",
            "The value is a signed 64-bit integer.",
            "The value is a double precision floating point number.",
            "The value is a text string. This value type can be used only if the metric kind is `GAUGE`.",
            "The value is a `Distribution`.",
            "The value is money."
          ]
        },
        "description": {
          "description": "A detailed description of the metric, which can be used in documentation.",
          "type": "string"
        },
        "metadata": {
          "$ref": "MetricDescriptorMetadata",
          "description": "Optional. Metadata which can be used to guide usage of the metric."
        },
        "unit": {
          "type": "string",
          "description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. Different systems may scale the values to be more easily displayed (so a value of `0.02KBy` _might_ be displayed as `20By`, and a value of `3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is `KBy`, then the value of the metric is always in thousands of bytes, no matter how it may be displayed.. If you want a custom metric to record the exact number of CPU-seconds used by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 CPU-seconds, then the value is written as `12005`. Alternatively, if you want a custom metric to record data in a more granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). The supported units are a subset of [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day * `1` dimensionless **Prefixes (PREFIX)** * `k` kilo (10^3) * `M` mega (10^6) * `G` giga (10^9) * `T` tera (10^12) * `P` peta (10^15) * `E` exa (10^18) * `Z` zetta (10^21) * `Y` yotta (10^24) * `m` milli (10^-3) * `u` micro (10^-6) * `n` nano (10^-9) * `p` pico (10^-12) * `f` femto (10^-15) * `a` atto (10^-18) * `z` zepto (10^-21) * `y` yocto (10^-24) * `Ki` kibi (2^10) * `Mi` mebi (2^20) * `Gi` gibi (2^30) * `Ti` tebi (2^40) * `Pi` pebi (2^50) **Grammar** The grammar also includes these connectors: * `/` division or ratio (as an infix operator). For examples, `kBy/{email}` or `MiBy/10ms` (although you should almost never have `/s` in a metric `unit`; rates should always be computed at query time from the underlying cumulative or delta value). * `.` multiplication or composition (as an infix operator). For examples, `GBy.d` or `k{watt}.h`. The grammar for a unit is as follows: Expression = Component { \".\" Component } { \"/\" Component } ; Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ] | Annotation | \"1\" ; Annotation = \"{\" NAME \"}\" ; Notes: * `Annotation` is just a comment if it follows a `UNIT`. If the annotation is used alone, then the unit is equivalent to `1`. For examples, `{request}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing `{` or `}`. * `1` represents a unitary [dimensionless unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such as in `1/s`. It is typically used when none of the basic units are appropriate. For example, \"new users per day\" can be represented as `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new users). Alternatively, \"thousands of page views per day\" would be represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric value of `5.3` would mean \"5300 page views per day\"). * `%` represents dimensionless value of 1/100, and annotates values giving a percentage (so the metric values are typically in the range of 0..100, and a metric value `3` means \"3 percent\"). * `10^2.%` indicates a metric contains a ratio, typically in the range 0..1, that will be multiplied by 100 and displayed as a percentage (so a metric value `0.03` means \"3 percent\")."
        }
      },
      "type": "object",
      "description": "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. ",
      "id": "MetricDescriptor"
    },
    "Empty": {
      "type": "object",
      "id": "Empty",
      "properties": {},
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
    },
    "V1Beta1ConsumerQuotaLimit": {
      "properties": {
        "quotaBuckets": {
          "type": "array",
          "items": {
            "$ref": "V1Beta1QuotaBucket"
          },
          "description": "Summary of the enforced quota buckets, organized by quota dimension, ordered from least specific to most specific (for example, the global default bucket, with no quota dimensions, will always appear first)."
        },
        "metric": {
          "type": "string",
          "description": "The name of the parent metric of this limit. An example name would be: `compute.googleapis.com/cpus`"
        },
        "name": {
          "description": "The resource name of the quota limit. An example name would be: `services/compute.googleapis.com/projects/123/quotas/metrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future.",
          "type": "string"
        },
        "isPrecise": {
          "description": "Whether this limit is precise or imprecise.",
          "type": "boolean"
        },
        "unit": {
          "type": "string",
          "description": "The limit unit. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string."
        }
      },
      "id": "V1Beta1ConsumerQuotaLimit",
      "type": "object",
      "description": "Consumer quota settings for a quota limit."
    },
    "LoggingDestination": {
      "description": "Configuration of a specific logging destination (the producer project or the consumer project).",
      "type": "object",
      "properties": {
        "logs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of the logs to be sent to this destination. Each name must be defined in the Service.logs section. If the log name is not a domain scoped name, it will be automatically prefixed with the service name followed by \"/\"."
        },
        "monitoredResource": {
          "type": "string",
          "description": "The monitored resource type. The type must be defined in the Service.monitored_resources section."
        }
      },
      "id": "LoggingDestination"
    },
    "UsageRule": {
      "description": "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",
      "id": "UsageRule",
      "type": "object",
      "properties": {
        "selector": {
          "description": "Selects the methods to which this rule applies. Use '*' to indicate all methods in all APIs. Refer to selector for syntax details.",
          "type": "string"
        },
        "skipServiceControl": {
          "type": "boolean",
          "description": "If true, the selected method should skip service control and the control plane features, such as quota and billing, will not be available. This flag is used by Google Cloud Endpoints to bypass checks for internal methods, such as service health check methods."
        },
        "allowUnregisteredCalls": {
          "type": "boolean",
          "description": "If true, the selected method allows unregistered calls, e.g. calls that don't identify any user or application."
        }
      }
    },
    "AuthProvider": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the auth provider. It will be referred to by `AuthRequirement.provider_id`. Example: \"bookstore_auth\"."
        },
        "authorizationUrl": {
          "type": "string",
          "description": "Redirect URL if JWT token is required but not present or is expired. Implement authorizationUrl of securityDefinitions in OpenAPI spec."
        },
        "audiences": {
          "type": "string",
          "description": "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, JWTs with audiences: - \"https://[service.name]/[google.protobuf.Api.name]\" - \"https://[service.name]/\" will be accepted. For example, if no audiences are in the setting, LibraryService API will accept JWTs with the following audiences: - https://library-example.googleapis.com/google.example.library.v1.LibraryService - https://library-example.googleapis.com/ Example: audiences: bookstore_android.apps.googleusercontent.com, bookstore_web.apps.googleusercontent.com"
        },
        "issuer": {
          "type": "string",
          "description": "Identifies the principal that issued the JWT. See https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1 Usually a URL or an email address. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com"
        },
        "jwksUri": {
          "type": "string",
          "description": "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"
        },
        "jwtLocations": {
          "description": "Defines the locations to extract the JWT. JWT locations can be either from HTTP headers or URL query parameters. The rule is that the first match wins. The checking order is: checking all headers first, then URL query parameters. If not specified, default to use following 3 locations: 1) Authorization: Bearer 2) x-goog-iap-jwt-assertion 3) access_token query parameter Default locations can be specified as followings: jwt_locations: - header: Authorization value_prefix: \"Bearer \" - header: x-goog-iap-jwt-assertion - query: access_token",
          "items": {
            "$ref": "JwtLocation"
          },
          "type": "array"
        }
      },
      "id": "AuthProvider",
      "description": "Configuration for an authentication provider, including support for [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32)."
    },
    "QuotaLimit": {
      "description": "`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`.",
      "type": "object",
      "id": "QuotaLimit",
      "properties": {
        "metric": {
          "description": "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.",
          "type": "string"
        },
        "defaultLimit": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "maxLimit": {
          "format": "int64",
          "description": "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.",
          "type": "string"
        },
        "duration": {
          "type": "string",
          "description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\". Used by group-based quotas only."
        },
        "freeTier": {
          "description": "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.",
          "format": "int64",
          "type": "string"
        },
        "unit": {
          "description": "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. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.",
          "type": "string"
        },
        "values": {
          "type": "object",
          "additionalProperties": {
            "format": "int64",
            "type": "string"
          },
          "description": "Tiered limit values. You must specify this as a key:value pair, with an integer value that is the maximum number of requests allowed for the specified unit. Currently only STANDARD is supported."
        },
        "displayName": {
          "description": "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.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Optional. User-visible, extended description for this quota limit. Should be used only when more context is needed to understand this limit than provided by the limit's display name (see: `display_name`)."
        },
        "name": {
          "description": "Name of the quota limit. 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.",
          "type": "string"
        }
      }
    },
    "V1beta1RefreshConsumerResponse": {
      "properties": {},
      "type": "object",
      "description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1RefreshConsumerResponse"
    },
    "V1beta1GenerateServiceAccountResponse": {
      "properties": {
        "account": {
          "$ref": "V1beta1ServiceAccount",
          "description": "ServiceAccount that was created or retrieved."
        }
      },
      "type": "object",
      "description": "Response message for the `GenerateServiceAccount` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1GenerateServiceAccountResponse"
    },
    "V1Beta1EnableConsumerResponse": {
      "id": "V1Beta1EnableConsumerResponse",
      "description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "properties": {},
      "type": "object"
    },
    "V1Beta1ListProducerOverridesResponse": {
      "description": "Response message for ListProducerOverrides.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token identifying which result to start with; returned by a previous list call."
        },
        "overrides": {
          "type": "array",
          "description": "Producer overrides on this limit.",
          "items": {
            "$ref": "V1Beta1QuotaOverride"
          }
        }
      },
      "id": "V1Beta1ListProducerOverridesResponse",
      "type": "object"
    },
    "V1beta1RemoveVisibilityLabelsResponse": {
      "description": "Response message for the `RemoveVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1RemoveVisibilityLabelsResponse",
      "properties": {
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The updated set of visibility labels for this consumer on this service."
        }
      },
      "type": "object"
    },
    "V1beta1GenerateDefaultIdentityResponse": {
      "properties": {
        "role": {
          "description": "Role attached to consumer project. Empty if not attached in this request. (Under development, currently always return empty.)",
          "type": "string"
        },
        "attachStatus": {
          "enumDescriptions": [
            "Indicates that the AttachStatus was not set.",
            "The default identity was attached to a role successfully in this request.",
            "The request specified that no attempt should be made to attach the role.",
            "Role was attached to the consumer project at some point in time. Tenant manager doesn't make assertion about the current state of the identity with respect to the consumer. Role attachment should happen only once after activation and cannot be reattached after customer removes it. (go/si-attach-role)",
            "Role attachment was denied in this request by customer set org policy. (go/si-attach-role)"
          ],
          "type": "string",
          "enum": [
            "ATTACH_STATUS_UNSPECIFIED",
            "ATTACHED",
            "ATTACH_SKIPPED",
            "PREVIOUSLY_ATTACHED",
            "ATTACH_DENIED_BY_ORG_POLICY"
          ],
          "description": "Status of the role attachment. Under development (go/si-attach-role), currently always return ATTACH_STATUS_UNSPECIFIED)"
        },
        "identity": {
          "description": "DefaultIdentity that was created or retrieved.",
          "$ref": "V1beta1DefaultIdentity"
        }
      },
      "type": "object",
      "description": "Response message for the `GenerateDefaultIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1GenerateDefaultIdentityResponse"
    },
    "SourceInfo": {
      "type": "object",
      "properties": {
        "sourceFiles": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "description": "All files used during config generation.",
          "type": "array"
        }
      },
      "id": "SourceInfo",
      "description": "Source information used to create a Service Config"
    },
    "Documentation": {
      "id": "Documentation",
      "type": "object",
      "properties": {
        "documentationRootUrl": {
          "type": "string",
          "description": "The URL to the root of documentation."
        },
        "pages": {
          "type": "array",
          "description": "The top level pages for the documentation set.",
          "items": {
            "$ref": "Page"
          }
        },
        "rules": {
          "items": {
            "$ref": "DocumentationRule"
          },
          "description": "A list of documentation rules that apply to individual API elements. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "type": "array"
        },
        "summary": {
          "type": "string",
          "description": "A short summary of what the service does. Can only be provided by plain text."
        },
        "serviceRootUrl": {
          "type": "string",
          "description": "Specifies the service root url if the default one (the service name from the yaml file) is not suitable. This can be seen in any fully specified service urls as well as sections that show a base that other urls are relative to."
        },
        "overview": {
          "description": "Declares a single overview page. For example: documentation: summary: ... overview: (== include overview.md ==) This is a shortcut for the following declaration (using pages style): documentation: summary: ... pages: - name: Overview content: (== include overview.md ==) Note: you cannot specify both `overview` field and `pages` field.",
          "type": "string"
        }
      },
      "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: \u003e The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \u003e ... - selector: google.calendar.Calendar.Put description: \u003e ... 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: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) 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: (== include path/to/file ==) 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: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation."
    },
    "CustomHttpPattern": {
      "properties": {
        "path": {
          "type": "string",
          "description": "The path matched by this custom verb."
        },
        "kind": {
          "type": "string",
          "description": "The name of this custom HTTP verb."
        }
      },
      "type": "object",
      "description": "A custom pattern is used for defining custom HTTP verb.",
      "id": "CustomHttpPattern"
    },
    "Service": {
      "description": "`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",
      "properties": {
        "control": {
          "$ref": "Control",
          "description": "Configuration for the service control plane."
        },
        "sourceInfo": {
          "description": "Output only. The source information for this configuration if available.",
          "$ref": "SourceInfo"
        },
        "logs": {
          "type": "array",
          "description": "Defines the logs used by this service.",
          "items": {
            "$ref": "LogDescriptor"
          }
        },
        "name": {
          "type": "string",
          "description": "The service name, which is a DNS-like logical identifier for the service, such as `calendar.googleapis.com`. The service name typically goes through DNS verification to make sure the owner of the service also owns the DNS name."
        },
        "monitoredResources": {
          "type": "array",
          "items": {
            "$ref": "MonitoredResourceDescriptor"
          },
          "description": "Defines the monitored resources used by this service. This is required by the Service.monitoring and Service.logging configurations."
        },
        "http": {
          "$ref": "Http",
          "description": "HTTP configuration."
        },
        "configVersion": {
          "type": "integer",
          "description": "This field is obsolete. Its value must be set to `3`.",
          "format": "uint32"
        },
        "monitoring": {
          "$ref": "Monitoring",
          "description": "Monitoring configuration."
        },
        "quota": {
          "$ref": "Quota",
          "description": "Quota configuration."
        },
        "enums": {
          "type": "array",
          "items": {
            "$ref": "Enum"
          },
          "description": "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"
        },
        "customError": {
          "description": "Custom error configuration.",
          "$ref": "CustomError"
        },
        "producerProjectId": {
          "type": "string",
          "description": "The Google project that owns this service."
        },
        "usage": {
          "$ref": "Usage",
          "description": "Configuration controlling usage of this service."
        },
        "id": {
          "description": "A unique ID for a specific instance of this message, typically assigned by the client for tracking purpose. Must be no longer than 63 characters and only lower case letters, digits, '.', '_' and '-' are allowed. If empty, the server may choose to generate one instead.",
          "type": "string"
        },
        "documentation": {
          "$ref": "Documentation",
          "description": "Additional API documentation."
        },
        "backend": {
          "description": "API backend configuration.",
          "$ref": "Backend"
        },
        "authentication": {
          "description": "Auth configuration.",
          "$ref": "Authentication"
        },
        "metrics": {
          "items": {
            "$ref": "MetricDescriptor"
          },
          "description": "Defines the metrics used by this service.",
          "type": "array"
        },
        "systemParameters": {
          "$ref": "SystemParameters",
          "description": "System parameter configuration."
        },
        "billing": {
          "description": "Billing configuration.",
          "$ref": "Billing"
        },
        "endpoints": {
          "description": "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.",
          "type": "array",
          "items": {
            "$ref": "Endpoint"
          }
        },
        "types": {
          "type": "array",
          "description": "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",
          "items": {
            "$ref": "Type"
          }
        },
        "context": {
          "$ref": "Context",
          "description": "Context configuration."
        },
        "title": {
          "type": "string",
          "description": "The product title for this service."
        },
        "logging": {
          "$ref": "Logging",
          "description": "Logging configuration."
        },
        "systemTypes": {
          "type": "array",
          "items": {
            "$ref": "Type"
          },
          "description": "A list of all proto message types included in this API service. It serves similar purpose as [google.api.Service.types], except that these types are not needed by user-defined APIs. Therefore, they will not show up in the generated discovery doc. This field should only be used to define system APIs in ESF."
        },
        "apis": {
          "items": {
            "$ref": "Api"
          },
          "description": "A list of API interfaces exported by this service. Only the `name` field of the google.protobuf.Api needs to be provided by the configuration author, as the remaining fields will be derived from the IDL during the normalization process. It is an error to specify an API interface here which cannot be resolved against the associated IDL files.",
          "type": "array"
        }
      },
      "id": "Service",
      "type": "object"
    },
    "Monitoring": {
      "type": "object",
      "description": "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/num_overdue` metric is only sent to the consumer project. monitored_resources: - type: library.googleapis.com/Branch display_name: \"Library Branch\" description: \"A branch of a library.\" launch_stage: GA labels: - key: resource_container description: \"The Cloud container (ie. project id) for the Branch.\" - key: location description: \"The location of the library branch.\" - key: branch_id description: \"The id of the branch.\" metrics: - name: library.googleapis.com/book/returned_count display_name: \"Books Returned\" description: \"The count of books that have been returned.\" launch_stage: GA metric_kind: DELTA value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" - name: library.googleapis.com/book/num_overdue display_name: \"Books Overdue\" description: \"The current number of overdue books.\" launch_stage: GA metric_kind: GAUGE value_type: INT64 unit: \"1\" labels: - key: customer_id description: \"The id of the customer.\" 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/num_overdue",
      "properties": {
        "consumerDestinations": {
          "type": "array",
          "description": "Monitoring configurations for sending metrics to the consumer project. There can be multiple consumer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration.",
          "items": {
            "$ref": "MonitoringDestination"
          }
        },
        "producerDestinations": {
          "type": "array",
          "items": {
            "$ref": "MonitoringDestination"
          },
          "description": "Monitoring configurations for sending metrics to the producer project. There can be multiple producer destinations. A monitored resource type may appear in multiple monitoring destinations if different aggregations are needed for different sets of metrics associated with that monitored resource type. A monitored resource and metric pair may only be used once in the Monitoring configuration."
        }
      },
      "id": "Monitoring"
    },
    "V1Beta1ServiceIdentity": {
      "type": "object",
      "properties": {
        "tag": {
          "description": "The P4 service identity configuration tag. This must be defined in activation_grants. If not specified when creating the account, the tag is set to \"default\".",
          "type": "string"
        },
        "email": {
          "type": "string",
          "description": "The email address of the service identity."
        },
        "uniqueId": {
          "type": "string",
          "description": "The unique and stable id of the service identity."
        },
        "name": {
          "type": "string",
          "description": "P4 service identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/serviceIdentities/default`"
        }
      },
      "id": "V1Beta1ServiceIdentity",
      "description": "A service identity in the Identity and Access Management API."
    },
    "V1beta1DisableConsumerResponse": {
      "type": "object",
      "properties": {},
      "description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1DisableConsumerResponse"
    },
    "BackendRule": {
      "id": "BackendRule",
      "properties": {
        "deadline": {
          "description": "The number of seconds to wait for a response from a request. The default varies based on the request protocol and deployment environment.",
          "type": "number",
          "format": "double"
        },
        "address": {
          "description": "The address of the API backend. The scheme is used to determine the backend protocol and security. The following schemes are accepted: SCHEME PROTOCOL SECURITY http:// HTTP None https:// HTTP TLS grpc:// gRPC None grpcs:// gRPC TLS It is recommended to explicitly include a scheme. Leaving out the scheme may cause constrasting behaviors across platforms. If the port is unspecified, the default is: - 80 for schemes without TLS - 443 for schemes with TLS For HTTP backends, use protocol to specify the protocol version.",
          "type": "string"
        },
        "operationDeadline": {
          "type": "number",
          "format": "double",
          "description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline."
        },
        "minDeadline": {
          "description": "Minimum deadline in seconds needed for this method. Calls having deadline value lower than this will be rejected.",
          "type": "number",
          "format": "double"
        },
        "pathTranslation": {
          "enum": [
            "PATH_TRANSLATION_UNSPECIFIED",
            "CONSTANT_ADDRESS",
            "APPEND_PATH_TO_ADDRESS"
          ],
          "type": "string",
          "enumDescriptions": [
            "",
            "Use the backend address as-is, with no modification to the path. If the URL pattern contains variables, the variable names and values will be appended to the query string. If a query string parameter and a URL pattern variable have the same name, this may result in duplicate keys in the query string. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.cloudfunctions.net/getUser Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe",
            "The request path will be appended to the backend address. # Examples Given the following operation config: Method path: /api/company/{cid}/user/{uid} Backend address: https://example.appspot.com Requests to the following request paths will call the backend at the translated path: Request path: /api/company/widgetworks/user/johndoe Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe Request path: /api/company/widgetworks/user/johndoe?timezone=EST Translated: https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST"
          ]
        },
        "selector": {
          "type": "string",
          "description": "Selects the methods to which this rule applies. Refer to selector for syntax details."
        },
        "protocol": {
          "type": "string",
          "description": "The protocol used for sending a request to the backend. The supported values are \"http/1.1\" and \"h2\". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to \"h2\" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values."
        },
        "jwtAudience": {
          "type": "string",
          "description": "The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP \"authorization\" header, and sent to the backend."
        },
        "disableAuth": {
          "description": "When disable_auth is true, a JWT ID token won't be generated and the original \"Authorization\" HTTP header will be preserved. If the header is used to carry the original token and is expected by the backend, this field must be set to true to preserve the header.",
          "type": "boolean"
        }
      },
      "type": "object",
      "description": "A backend rule provides configuration for an individual API element."
    },
    "MetricDescriptorMetadata": {
      "type": "object",
      "description": "Additional annotations that can be used to guide the usage of a metric.",
      "id": "MetricDescriptorMetadata",
      "properties": {
        "samplePeriod": {
          "format": "google-duration",
          "description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period.",
          "type": "string"
        },
        "launchStage": {
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "UNIMPLEMENTED",
            "PRELAUNCH",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ],
          "type": "string",
          "description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.",
          "enumDescriptions": [
            "Do not use this default value.",
            "The feature is not yet implemented. Users can not use it.",
            "Prelaunch features are hidden from users and are only visible internally.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation."
          ]
        },
        "ingestDelay": {
          "format": "google-duration",
          "type": "string",
          "description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors."
        }
      }
    },
    "Status": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
        },
        "details": {
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        },
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        }
      },
      "description": "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). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status"
    },
    "V1Beta1ImportProducerQuotaPoliciesResponse": {
      "properties": {
        "policies": {
          "type": "array",
          "description": "The policies that were created from the imported data.",
          "items": {
            "$ref": "V1Beta1ProducerQuotaPolicy"
          }
        }
      },
      "id": "V1Beta1ImportProducerQuotaPoliciesResponse",
      "description": "Response message for ImportProducerQuotaPolicies",
      "type": "object"
    },
    "V1Beta1ImportProducerOverridesResponse": {
      "id": "V1Beta1ImportProducerOverridesResponse",
      "properties": {
        "overrides": {
          "type": "array",
          "description": "The overrides that were created from the imported data.",
          "items": {
            "$ref": "V1Beta1QuotaOverride"
          }
        }
      },
      "type": "object",
      "description": "Response message for ImportProducerOverrides"
    },
    "Control": {
      "properties": {
        "environment": {
          "description": "The service control environment to use. If empty, no control plane feature (like quota and billing) will be enabled.",
          "type": "string"
        }
      },
      "description": "Selects and configures the service controller used by the service. The service controller handles features like abuse, quota, billing, logging, monitoring, etc.",
      "id": "Control",
      "type": "object"
    },
    "V1Beta1BatchCreateProducerOverridesResponse": {
      "description": "Response message for BatchCreateProducerOverrides",
      "type": "object",
      "id": "V1Beta1BatchCreateProducerOverridesResponse",
      "properties": {
        "overrides": {
          "items": {
            "$ref": "V1Beta1QuotaOverride"
          },
          "type": "array",
          "description": "The overrides that were created."
        }
      }
    },
    "ContextRule": {
      "id": "ContextRule",
      "description": "A context rule provides information about the context for an individual API element.",
      "properties": {
        "allowedResponseExtensions": {
          "type": "array",
          "description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from backend to client.",
          "items": {
            "type": "string"
          }
        },
        "allowedRequestExtensions": {
          "items": {
            "type": "string"
          },
          "description": "A list of full type names or extension IDs of extensions allowed in grpc side channel from client to backend.",
          "type": "array"
        },
        "provided": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of full type names of provided contexts."
        },
        "requested": {
          "type": "array",
          "description": "A list of full type names of requested contexts.",
          "items": {
            "type": "string"
          }
        },
        "selector": {
          "type": "string",
          "description": "Selects the methods to which this rule applies. Refer to selector for syntax details."
        }
      },
      "type": "object"
    },
    "Operation": {
      "id": "Operation",
      "properties": {
        "response": {
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        }
      },
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object"
    },
    "Mixin": {
      "id": "Mixin",
      "type": "object",
      "description": "Declares an API Interface to be included in this interface. The including interface must redeclare all the methods from the included interface, but documentation and options are inherited as follows: - If after comment and whitespace stripping, the documentation string of the redeclared method is empty, it will be inherited from the original method. - Each annotation belonging to the service config (http, visibility) which is not set in the redeclared method will be inherited. - If an http annotation is inherited, the path pattern will be modified as follows. Any version prefix will be replaced by the version of the including interface plus the root path if specified. Example of a simple mixin: package google.acl.v1; service AccessControl { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v1/{resource=**}:getAcl\"; } } package google.storage.v2; service Storage { // rpc GetAcl(GetAclRequest) returns (Acl); // Get a data record. rpc GetData(GetDataRequest) returns (Data) { option (google.api.http).get = \"/v2/{resource=**}\"; } } Example of a mixin configuration: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl The mixin construct implies that all methods in `AccessControl` are also declared with same name and request/response types in `Storage`. A documentation generator or annotation processor will see the effective `Storage.GetAcl` method after inheriting documentation and annotations as follows: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/{resource=**}:getAcl\"; } ... } Note how the version in the path pattern changed from `v1` to `v2`. If the `root` field in the mixin is specified, it should be a relative path under which inherited HTTP paths are placed. Example: apis: - name: google.storage.v2.Storage mixins: - name: google.acl.v1.AccessControl root: acls This implies the following inherited HTTP annotation: service Storage { // Get the underlying ACL object. rpc GetAcl(GetAclRequest) returns (Acl) { option (google.api.http).get = \"/v2/acls/{resource=**}:getAcl\"; } ... }",
      "properties": {
        "name": {
          "description": "The fully qualified name of the interface which is included.",
          "type": "string"
        },
        "root": {
          "type": "string",
          "description": "If non-empty specifies a path under which inherited HTTP paths are rooted."
        }
      }
    },
    "V1Beta1ProducerQuotaPolicy": {
      "properties": {
        "container": {
          "description": "The cloud resource container at which the quota policy is created. The format is {container_type}/{container_number}",
          "type": "string"
        },
        "name": {
          "description": "The resource name of the producer policy. An example name would be: `services/compute.googleapis.com/organizations/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d`",
          "type": "string"
        },
        "unit": {
          "type": "string",
          "description": "The limit unit of the limit to which this policy applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string."
        },
        "dimensions": {
          "type": "object",
          "description": " If this map is nonempty, then this policy applies only to specific values for dimensions defined in the limit unit. For example, an policy on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the policy is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota polcies that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "policyValue": {
          "format": "int64",
          "description": "The quota policy value. Can be any nonnegative integer, or -1 (unlimited quota).",
          "type": "string"
        },
        "metric": {
          "description": "The name of the metric to which this policy applies. An example name would be: `compute.googleapis.com/cpus`",
          "type": "string"
        }
      },
      "description": "Quota policy created by service producer.",
      "type": "object",
      "id": "V1Beta1ProducerQuotaPolicy"
    },
    "Enum": {
      "type": "object",
      "id": "Enum",
      "description": "Enum type definition.",
      "properties": {
        "options": {
          "description": "Protocol buffer options.",
          "items": {
            "$ref": "Option"
          },
          "type": "array"
        },
        "sourceContext": {
          "description": "The source context.",
          "$ref": "SourceContext"
        },
        "syntax": {
          "enum": [
            "SYNTAX_PROTO2",
            "SYNTAX_PROTO3"
          ],
          "description": "The source syntax.",
          "enumDescriptions": [
            "Syntax `proto2`.",
            "Syntax `proto3`."
          ],
          "type": "string"
        },
        "enumvalue": {
          "description": "Enum value definitions.",
          "items": {
            "$ref": "EnumValue"
          },
          "type": "array"
        },
        "name": {
          "description": "Enum type name.",
          "type": "string"
        }
      }
    },
    "OAuthRequirements": {
      "description": "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.",
      "id": "OAuthRequirements",
      "properties": {
        "canonicalScopes": {
          "description": "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",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Backend": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "description": "A list of API backend rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "items": {
            "$ref": "BackendRule"
          }
        }
      },
      "description": "`Backend` defines the backend configuration for a service.",
      "id": "Backend"
    },
    "V1beta1AddVisibilityLabelsResponse": {
      "description": "Response message for the `AddVisibilityLabels` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "type": "object",
      "properties": {
        "labels": {
          "description": "The updated set of visibility labels for this consumer on this service.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "V1beta1AddVisibilityLabelsResponse"
    },
    "V1Beta1ImportProducerOverridesRequest": {
      "id": "V1Beta1ImportProducerOverridesRequest",
      "properties": {
        "inlineSource": {
          "description": "The import data is specified in the request message itself",
          "$ref": "V1Beta1OverrideInlineSource"
        },
        "force": {
          "type": "boolean",
          "description": "Whether to force the creation of the quota overrides. If creating an override would cause the effective quota for the consumer to decrease by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction."
        }
      },
      "description": "Request message for ImportProducerOverrides",
      "type": "object"
    },
    "Page": {
      "type": "object",
      "description": "Represents a documentation page. A page can contain subpages to represent nested documentation set structure.",
      "properties": {
        "content": {
          "description": "The Markdown content of the page. You can use (== include {path} ==) to include content from a Markdown file.",
          "type": "string"
        },
        "subpages": {
          "description": "Subpages of this page. The order of subpages specified here will be honored in the generated docset.",
          "items": {
            "$ref": "Page"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "description": "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: pages: - name: Tutorial content: (== include tutorial.md ==) subpages: - name: Java content: (== include tutorial_java.md ==) You can reference `Java` page using Markdown reference link syntax: `Java`."
        }
      },
      "id": "Page"
    },
    "V1Beta1GenerateServiceIdentityResponse": {
      "id": "V1Beta1GenerateServiceIdentityResponse",
      "type": "object",
      "description": "Response message for the `GenerateServiceIdentity` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "properties": {
        "identity": {
          "$ref": "V1Beta1ServiceIdentity",
          "description": "ServiceIdentity that was created or retrieved."
        }
      }
    },
    "CustomError": {
      "description": "Customize service error responses. For example, list any service specific protobuf types that can appear in error detail lists of error responses. Example: custom_error: types: - google.foo.v1.CustomError - google.foo.v1.AnotherError",
      "id": "CustomError",
      "type": "object",
      "properties": {
        "rules": {
          "items": {
            "$ref": "CustomErrorRule"
          },
          "type": "array",
          "description": "The list of custom error rules that apply to individual API messages. **NOTE:** All service configuration rules follow \"last one wins\" order."
        },
        "types": {
          "description": "The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "Logging": {
      "description": "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",
      "properties": {
        "consumerDestinations": {
          "type": "array",
          "items": {
            "$ref": "LoggingDestination"
          },
          "description": "Logging configurations for sending logs to the consumer project. There can be multiple consumer destinations, each one must have a different monitored resource type. A log can be used in at most one consumer destination."
        },
        "producerDestinations": {
          "type": "array",
          "items": {
            "$ref": "LoggingDestination"
          },
          "description": "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."
        }
      },
      "type": "object",
      "id": "Logging"
    },
    "Api": {
      "type": "object",
      "id": "Api",
      "description": "Api is a light-weight descriptor for an API Interface. Interfaces are also described as \"protocol buffer services\" in some contexts, such as by the \"service\" keyword in a .proto file, but they are different from API Services, which represent a concrete implementation of an interface as opposed to simply a description of methods and bindings. They are also sometimes simply referred to as \"APIs\" in other contexts, such as the name of this message itself. See https://cloud.google.com/apis/design/glossary for detailed terminology.",
      "properties": {
        "mixins": {
          "type": "array",
          "items": {
            "$ref": "Mixin"
          },
          "description": "Included interfaces. See Mixin."
        },
        "methods": {
          "items": {
            "$ref": "Method"
          },
          "description": "The methods of this interface, in unspecified order.",
          "type": "array"
        },
        "options": {
          "type": "array",
          "items": {
            "$ref": "Option"
          },
          "description": "Any metadata attached to the interface."
        },
        "version": {
          "description": "A version string for this interface. If specified, must have the form `major-version.minor-version`, as in `1.10`. If the minor version is omitted, it defaults to zero. If the entire version field is empty, the major version is derived from the package name, as outlined below. If the field is not empty, the version in the package name will be verified to be consistent with what is provided here. The versioning schema uses [semantic versioning](http://semver.org) where the major version number indicates a breaking change and the minor version an additive, non-breaking change. Both version numbers are signals to users what to expect from different versions, and should be carefully chosen based on the product plan. The major version is also reflected in the package name of the interface, which must end in `v`, as in `google.feature.v1`. For major versions 0 and 1, the suffix can be omitted. Zero major versions must only be used for experimental, non-GA interfaces. ",
          "type": "string"
        },
        "name": {
          "description": "The fully qualified name of this interface, including package name followed by the interface's simple name.",
          "type": "string"
        },
        "sourceContext": {
          "description": "Source context for the protocol buffer service represented by this message.",
          "$ref": "SourceContext"
        },
        "syntax": {
          "enum": [
            "SYNTAX_PROTO2",
            "SYNTAX_PROTO3"
          ],
          "description": "The source syntax of the service.",
          "type": "string",
          "enumDescriptions": [
            "Syntax `proto2`.",
            "Syntax `proto3`."
          ]
        }
      }
    },
    "BillingDestination": {
      "properties": {
        "monitoredResource": {
          "description": "The monitored resource type. The type must be defined in Service.monitored_resources section.",
          "type": "string"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "description": "Names of the metrics to report to this billing destination. Each name must be defined in Service.metrics section.",
          "type": "array"
        }
      },
      "id": "BillingDestination",
      "type": "object",
      "description": "Configuration of a specific billing destination (Currently only support bill against consumer project)."
    },
    "V1Beta1QuotaOverride": {
      "type": "object",
      "id": "V1Beta1QuotaOverride",
      "properties": {
        "overrideValue": {
          "format": "int64",
          "description": "The overriding quota limit value. Can be any nonnegative integer, or -1 (unlimited quota).",
          "type": "string"
        },
        "adminOverrideAncestor": {
          "type": "string",
          "description": "The resource name of the ancestor that requested the override. For example: \"organizations/12345\" or \"folders/67890\". Used by admin overrides only."
        },
        "unit": {
          "type": "string",
          "description": "The limit unit of the limit to which this override applies. An example unit would be: `1/{project}/{region}` Note that `{project}` and `{region}` are not placeholders in this example; the literal characters `{` and `}` occur in the string."
        },
        "metric": {
          "description": "The name of the metric to which this override applies. An example name would be: `compute.googleapis.com/cpus`",
          "type": "string"
        },
        "dimensions": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": " If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit. For example, an override on a limit with the unit 1/{project}/{region} could contain an entry with the key \"region\" and the value \"us-east-1\"; the override is only applied to quota consumed in that region. This map has the following restrictions: * Keys that are not defined in the limit's unit are not valid keys. Any string appearing in {brackets} in the unit (besides {project} or {user}) is a defined key. * \"project\" is not a valid key; the project is already specified in the parent resource name. * \"user\" is not a valid key; the API does not support quota overrides that apply only to a specific user. * If \"region\" appears as a key, its value must be a valid Cloud region. * If \"zone\" appears as a key, its value must be a valid Cloud zone. * If any valid key other than \"region\" or \"zone\" appears in the map, then all valid keys other than \"region\" or \"zone\" must also appear in the map."
        },
        "name": {
          "type": "string",
          "description": "The resource name of the producer override. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`"
        }
      },
      "description": "A quota override"
    },
    "HttpRule": {
      "id": "HttpRule",
      "properties": {
        "post": {
          "type": "string",
          "description": "Maps to HTTP POST. Used for creating a resource or performing an action."
        },
        "put": {
          "type": "string",
          "description": "Maps to HTTP PUT. Used for replacing a resource."
        },
        "additionalBindings": {
          "description": "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).",
          "type": "array",
          "items": {
            "$ref": "HttpRule"
          }
        },
        "body": {
          "description": "The name of the request field whose value is mapped to the HTTP request body, or `*` for mapping all request fields not captured by the path pattern to the HTTP body, or omitted for not having any HTTP request body. NOTE: the referred field must be present at the top-level of the request message type.",
          "type": "string"
        },
        "custom": {
          "description": "The custom pattern is used for specifying an HTTP method that is not included in the `pattern` field, such as HEAD, or \"*\" to leave the HTTP method unspecified for this rule. The wild-card rule is useful for services that provide content to Web (HTML) clients.",
          "$ref": "CustomHttpPattern"
        },
        "patch": {
          "description": "Maps to HTTP PATCH. Used for updating a resource.",
          "type": "string"
        },
        "selector": {
          "description": "Selects a method to which this rule applies. Refer to selector for syntax details.",
          "type": "string"
        },
        "responseBody": {
          "type": "string",
          "description": "Optional. The name of the response field whose value is mapped to the HTTP response body. When omitted, the entire response message will be used as the HTTP response body. NOTE: The referred field must be present at the top-level of the response message type."
        },
        "get": {
          "type": "string",
          "description": "Maps to HTTP GET. Used for listing and getting information about resources."
        },
        "delete": {
          "description": "Maps to HTTP DELETE. Used for deleting a resource.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "# gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC method and one or more HTTP REST endpoints. It allows developers to build a single API service that supports both gRPC APIs and REST APIs. Many systems, including [Google APIs](https://github.com/googleapis/googleapis), [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC Gateway](https://github.com/grpc-ecosystem/grpc-gateway), and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature and use it for large scale production services. `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies how different portions of the gRPC request message are mapped to the URL path, URL query parameters, and HTTP request body. It also controls how the gRPC response message is mapped to the HTTP response body. `HttpRule` is typically specified as an `google.api.http` annotation on the gRPC method. Each mapping specifies a URL path template and an HTTP method. The path template may refer to one or more fields in the gRPC request message, as long as each field is a non-repeated field with a primitive (non-message) type. The path template controls how fields of the request message are mapped to the URL path. Example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get: \"/v1/{name=messages/*}\" }; } } message GetMessageRequest { string name = 1; // Mapped to URL path. } message Message { string text = 1; // The resource content. } This enables an HTTP REST to gRPC mapping as below: HTTP | gRPC -----|----- `GET /v1/messages/123456` | `GetMessage(name: \"messages/123456\")` Any fields in the request message which are not bound by the path template automatically become HTTP query parameters if there is no HTTP request body. For example: service Messaging { rpc GetMessage(GetMessageRequest) returns (Message) { option (google.api.http) = { get:\"/v1/messages/{message_id}\" }; } } message GetMessageRequest { message SubMessage { string subfield = 1; } string message_id = 1; // Mapped to URL path. int64 revision = 2; // Mapped to URL query parameter `revision`. SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. } This enables a HTTP JSON to RPC mapping as below: HTTP | gRPC -----|----- `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: \"123456\" revision: 2 sub: SubMessage(subfield: \"foo\"))` Note that fields which are mapped to URL query parameters must have a primitive type or a repeated primitive type or a non-repeated message type. In the case of a repeated type, the parameter can be repeated in the URL as `...?param=A&param=B`. In the case of a message type, each field of the message is mapped to a separate parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body` field specifies the mapping. Consider a REST update method on the message resource collection: service Messaging { rpc UpdateMessage(UpdateMessageRequest) returns (Message) { option (google.api.http) = { patch: \"/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 | gRPC -----|----- `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" message { text: \"Hi!\" })` The special name `*` can be used in the body mapping to define that every field not bound by the path template should be mapped to the request body. This enables the following alternative definition of the update method: service Messaging { rpc UpdateMessage(Message) returns (Message) { option (google.api.http) = { patch: \"/v1/messages/{message_id}\" body: \"*\" }; } } message Message { string message_id = 1; string text = 2; } The following HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- `PATCH /v1/messages/123456 { \"text\": \"Hi!\" }` | `UpdateMessage(message_id: \"123456\" text: \"Hi!\")` Note that when using `*` in the body mapping, it is not possible to have HTTP parameters, as all fields not bound by the path end in the body. This makes this option more rarely used in practice when 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 | gRPC -----|----- `GET /v1/messages/123456` | `GetMessage(message_id: \"123456\")` `GET /v1/users/me/messages/123456` | `GetMessage(user_id: \"me\" message_id: \"123456\")` ## Rules for HTTP mapping 1. Leaf request fields (recursive expansion nested messages in the request message) are classified into three categories: - Fields referred by the path template. They are passed via the URL path. - Fields referred by the HttpRule.body. They are passed via the HTTP request body. - All other fields are passed via the URL query parameters, and the parameter name is the field path in the request message. A repeated field can be represented as multiple query parameters under the same name. 2. If HttpRule.body is \"*\", there is no URL query parameter, all fields are passed via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is no HTTP request body, all fields are passed via URL path and URL query parameters. ### Path template syntax Template = \"/\" Segments [ Verb ] ; Segments = Segment { \"/\" Segment } ; Segment = \"*\" | \"**\" | LITERAL | Variable ; Variable = \"{\" FieldPath [ \"=\" Segments ] \"}\" ; FieldPath = IDENT { \".\" IDENT } ; Verb = \":\" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**` matches zero or more URL path segments, which must be the last part of the URL path except the `Verb`. The syntax `Variable` matches part of the URL path as specified by its template. A variable template must not contain other variables. If a variable matches a single path segment, its template may be omitted, e.g. `{var}` is equivalent to `{var=*}`. The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` contains any reserved character, such characters should be percent-encoded before the matching. If a variable contains exactly one path segment, such as `\"{var}\"` or `\"{var=*}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{var}`. If a variable contains multiple path segments, such as `\"{var=foo/*}\"` or `\"{var=**}\"`, when such a variable is expanded into a URL path on the client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the reverse decoding, except \"%2F\" and \"%2f\" are left unchanged. Such variables show up in the [Discovery Document](https://developers.google.com/discovery/v1/reference/apis) as `{+var}`. ## Using gRPC API Service Configuration gRPC API Service Configuration (service config) is a configuration language for configuring a gRPC service to become a user-facing product. The service config is simply the YAML representation of the `google.api.Service` proto message. As an alternative to annotating your proto file, you can configure gRPC transcoding in your service config YAML files. You do this by specifying a `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same effect as the proto annotation. This can be particularly useful if you have a proto that is reused in multiple services. Note that any transcoding specified in the service config will override any matching transcoding configuration in the proto. Example: http: rules: # Selects a gRPC method and applies HttpRule to it. - selector: example.v1.Messaging.GetMessage get: /v1/messages/{message_id}/{sub.subfield} ## Special notes When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion must follow the [proto3 specification](https://developers.google.com/protocol-buffers/docs/proto3#json). While the single segment variable follows the semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String Expansion, the multi segment variable **does not** follow RFC 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion does not expand special characters like `?` and `#`, which would lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding for multi segment variables. The path variables **must not** refer to any repeated or mapped field, because client libraries are not capable of handling such variable expansion. The path variables **must not** capture the leading \"/\" character. The reason is that the most common use case \"{var}\" does not capture the leading \"/\" character. For consistency, all path variables must share the same behavior. Repeated message fields must not be mapped to URL query parameters, because no client library can support such complicated mapping. If an API needs to use a JSON array for request or response body, it can map the request or response body to a repeated field. However, some gRPC Transcoding implementations may not support this feature."
    },
    "Billing": {
      "id": "Billing",
      "properties": {
        "consumerDestinations": {
          "type": "array",
          "description": "Billing configurations for sending metrics to the consumer project. There can be multiple consumer destinations per service, each one must have a different monitored resource type. A metric can be used in at most one consumer destination.",
          "items": {
            "$ref": "BillingDestination"
          }
        }
      },
      "type": "object",
      "description": "Billing related configuration of the service. The following example shows how to configure monitored resources and metrics for billing, `consumer_destinations` is the only supported destination and the monitored resources need at least one label key `cloud.googleapis.com/location` to indicate the location of the billing usage, using different monitored resources between monitoring and billing is recommended so they can be evolved independently: monitored_resources: - type: library.googleapis.com/billing_branch labels: - key: cloud.googleapis.com/location description: | Predefined label to support billing location restriction. - key: city description: | Custom label to define the city where the library branch is located in. - key: name description: Custom label to define the name of the library branch. metrics: - name: library.googleapis.com/book/borrowed_count metric_kind: DELTA value_type: INT64 unit: \"1\" billing: consumer_destinations: - monitored_resource: library.googleapis.com/billing_branch metrics: - library.googleapis.com/book/borrowed_count"
    },
    "V1beta1EnableConsumerResponse": {
      "properties": {},
      "type": "object",
      "description": "Response message for the `EnableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1beta1EnableConsumerResponse"
    },
    "LabelDescriptor": {
      "description": "A description of a label.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A human-readable description for the label."
        },
        "key": {
          "type": "string",
          "description": "The label key."
        },
        "valueType": {
          "enumDescriptions": [
            "A variable-length string. This is the default.",
            "Boolean; true or false.",
            "A 64-bit signed integer."
          ],
          "description": "The type of data that can be assigned to the label.",
          "type": "string",
          "enum": [
            "STRING",
            "BOOL",
            "INT64"
          ]
        }
      },
      "id": "LabelDescriptor"
    },
    "CustomErrorRule": {
      "description": "A custom error rule.",
      "id": "CustomErrorRule",
      "type": "object",
      "properties": {
        "isErrorType": {
          "type": "boolean",
          "description": "Mark this message as possible payload in error response. Otherwise, objects of this type will be filtered when they appear in error payload."
        },
        "selector": {
          "type": "string",
          "description": "Selects messages to which this rule applies. Refer to selector for syntax details."
        }
      }
    },
    "MonitoredResourceDescriptor": {
      "properties": {
        "description": {
          "description": "Optional. A detailed description of the monitored resource type that might be used in documentation.",
          "type": "string"
        },
        "displayName": {
          "description": "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\"`.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Required. The monitored resource type. For example, the type `\"cloudsql_database\"` represents databases in Google Cloud SQL."
        },
        "labels": {
          "description": "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\"`.",
          "type": "array",
          "items": {
            "$ref": "LabelDescriptor"
          }
        },
        "name": {
          "type": "string",
          "description": "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}\"`."
        },
        "launchStage": {
          "description": "Optional. The launch stage of the monitored resource definition.",
          "enumDescriptions": [
            "Do not use this default value.",
            "The feature is not yet implemented. Users can not use it.",
            "Prelaunch features are hidden from users and are only visible internally.",
            "Early Access features are limited to a closed group of testers. To use these features, you must sign up in advance and sign a Trusted Tester agreement (which includes confidentiality provisions). These features may be unstable, changed in backward-incompatible ways, and are not guaranteed to be released.",
            "Alpha is a limited availability test for releases before they are cleared for widespread use. By Alpha, all significant design issues are resolved and we are in the process of verifying functionality. Alpha customers need to apply for access, agree to applicable terms, and have their projects allowlisted. Alpha releases don’t have to be feature complete, no SLAs are provided, and there are no technical support obligations, but they will be far enough along that customers can actually use them in test environments or for limited-use tests -- just like they would in normal production cases.",
            "Beta is the point at which we are ready to open a release for any customer to use. There are no SLA or technical support obligations in a Beta release. Products will be complete from a feature perspective, but may have some open outstanding issues. Beta releases are suitable for limited production use cases.",
            "GA features are open to all developers and are considered stable and fully qualified for production use.",
            "Deprecated features are scheduled to be shut down and removed. For more information, see the “Deprecation Policy” section of our [Terms of Service](https://cloud.google.com/terms/) and the [Google Cloud Platform Subject to the Deprecation Policy](https://cloud.google.com/terms/deprecation) documentation."
          ],
          "type": "string",
          "enum": [
            "LAUNCH_STAGE_UNSPECIFIED",
            "UNIMPLEMENTED",
            "PRELAUNCH",
            "EARLY_ACCESS",
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ]
        }
      },
      "id": "MonitoredResourceDescriptor",
      "description": "An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `\"gce_instance\"` and specifies the use of the labels `\"instance_id\"` and `\"zone\"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API. ",
      "type": "object"
    },
    "V1Beta1RefreshConsumerResponse": {
      "description": "Response message for the `RefreshConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "properties": {},
      "type": "object",
      "id": "V1Beta1RefreshConsumerResponse"
    },
    "Endpoint": {
      "type": "object",
      "properties": {
        "name": {
          "description": "The canonical name of this endpoint.",
          "type": "string"
        },
        "target": {
          "description": "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\".",
          "type": "string"
        },
        "aliases": {
          "description": "DEPRECATED: This field is no longer supported. Instead of using aliases, please specify multiple google.api.Endpoint for each of the intended aliases. Additional names that this endpoint will be hosted on.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "allowCors": {
          "type": "boolean",
          "description": "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."
        }
      },
      "description": "`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",
      "id": "Endpoint"
    },
    "DocumentationRule": {
      "type": "object",
      "id": "DocumentationRule",
      "description": "A documentation rule provides information about individual API elements.",
      "properties": {
        "selector": {
          "type": "string",
          "description": "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\". A wildcard will match one or more components. To specify a default for all applicable elements, the whole pattern \"*\" is used."
        },
        "deprecationDescription": {
          "type": "string",
          "description": "Deprecation description of the selected element(s). It can be provided if an element is marked as `deprecated`."
        },
        "description": {
          "description": "Description of the selected API(s).",
          "type": "string"
        }
      }
    },
    "V1beta1DefaultIdentity": {
      "id": "V1beta1DefaultIdentity",
      "description": "A default identity in the Identity and Access Management API.",
      "properties": {
        "uniqueId": {
          "description": "The unique and stable id of the default identity.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Default identity resource name. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/defaultIdentity`"
        },
        "email": {
          "type": "string",
          "description": "The email address of the default identity."
        }
      },
      "type": "object"
    },
    "V1Beta1ConsumerQuotaMetric": {
      "id": "V1Beta1ConsumerQuotaMetric",
      "type": "object",
      "description": "Consumer quota settings for a quota metric.",
      "properties": {
        "consumerQuotaLimits": {
          "description": "The consumer quota for each quota limit defined on the metric.",
          "type": "array",
          "items": {
            "$ref": "V1Beta1ConsumerQuotaLimit"
          }
        },
        "unit": {
          "type": "string",
          "description": "The units in which the metric value is reported."
        },
        "metric": {
          "type": "string",
          "description": "The name of the metric. An example name would be: `compute.googleapis.com/cpus`"
        },
        "name": {
          "type": "string",
          "description": "The resource name of the quota settings on this metric for this consumer. An example name would be: `services/serviceconsumermanagement.googleapis.com/projects/123/quota/metrics/compute.googleapis.com%2Fcpus The resource name is intended to be opaque and should not be parsed for its component strings, since its representation could change in the future."
        },
        "displayName": {
          "description": "The display name of the metric. An example name would be: \"CPUs\"",
          "type": "string"
        }
      }
    },
    "Method": {
      "id": "Method",
      "properties": {
        "syntax": {
          "type": "string",
          "enum": [
            "SYNTAX_PROTO2",
            "SYNTAX_PROTO3"
          ],
          "enumDescriptions": [
            "Syntax `proto2`.",
            "Syntax `proto3`."
          ],
          "description": "The source syntax of this method."
        },
        "name": {
          "description": "The simple name of this method.",
          "type": "string"
        },
        "requestTypeUrl": {
          "type": "string",
          "description": "A URL of the input message type."
        },
        "options": {
          "description": "Any metadata attached to the method.",
          "type": "array",
          "items": {
            "$ref": "Option"
          }
        },
        "requestStreaming": {
          "description": "If true, the request is streamed.",
          "type": "boolean"
        },
        "responseTypeUrl": {
          "type": "string",
          "description": "The URL of the output message type."
        },
        "responseStreaming": {
          "type": "boolean",
          "description": "If true, the response is streamed."
        }
      },
      "description": "Method represents a method of an API interface.",
      "type": "object"
    },
    "EnumValue": {
      "id": "EnumValue",
      "description": "Enum value definition.",
      "type": "object",
      "properties": {
        "options": {
          "items": {
            "$ref": "Option"
          },
          "description": "Protocol buffer options.",
          "type": "array"
        },
        "number": {
          "description": "Enum value number.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string",
          "description": "Enum value name."
        }
      }
    },
    "Usage": {
      "description": "Configuration controlling usage of a service.",
      "properties": {
        "producerNotificationChannel": {
          "type": "string",
          "description": "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."
        },
        "rules": {
          "items": {
            "$ref": "UsageRule"
          },
          "description": "A list of usage rules that apply to individual API methods. **NOTE:** All service configuration rules follow \"last one wins\" order.",
          "type": "array"
        },
        "requirements": {
          "items": {
            "type": "string"
          },
          "description": "Requirements that must be satisfied before a consumer project can use the service. Each requirement is of the form /; for example 'serviceusage.googleapis.com/billing-enabled'.",
          "type": "array"
        }
      },
      "id": "Usage",
      "type": "object"
    },
    "Field": {
      "properties": {
        "number": {
          "description": "The field number.",
          "format": "int32",
          "type": "integer"
        },
        "options": {
          "type": "array",
          "items": {
            "$ref": "Option"
          },
          "description": "The protocol buffer options."
        },
        "typeUrl": {
          "description": "The field type URL, without the scheme, for message or enumeration types. Example: `\"type.googleapis.com/google.protobuf.Timestamp\"`.",
          "type": "string"
        },
        "oneofIndex": {
          "type": "integer",
          "description": "The index of the field type in `Type.oneofs`, for message or enumeration types. The first type has index 1; zero means the type is not in the list.",
          "format": "int32"
        },
        "kind": {
          "enumDescriptions": [
            "Field type unknown.",
            "Field type double.",
            "Field type float.",
            "Field type int64.",
            "Field type uint64.",
            "Field type int32.",
            "Field type fixed64.",
            "Field type fixed32.",
            "Field type bool.",
            "Field type string.",
            "Field type group. Proto2 syntax only, and deprecated.",
            "Field type message.",
            "Field type bytes.",
            "Field type uint32.",
            "Field type enum.",
            "Field type sfixed32.",
            "Field type sfixed64.",
            "Field type sint32.",
            "Field type sint64."
          ],
          "description": "The field type.",
          "enum": [
            "TYPE_UNKNOWN",
            "TYPE_DOUBLE",
            "TYPE_FLOAT",
            "TYPE_INT64",
            "TYPE_UINT64",
            "TYPE_INT32",
            "TYPE_FIXED64",
            "TYPE_FIXED32",
            "TYPE_BOOL",
            "TYPE_STRING",
            "TYPE_GROUP",
            "TYPE_MESSAGE",
            "TYPE_BYTES",
            "TYPE_UINT32",
            "TYPE_ENUM",
            "TYPE_SFIXED32",
            "TYPE_SFIXED64",
            "TYPE_SINT32",
            "TYPE_SINT64"
          ],
          "type": "string"
        },
        "defaultValue": {
          "type": "string",
          "description": "The string value of the default value of this field. Proto2 syntax only."
        },
        "cardinality": {
          "description": "The field cardinality.",
          "enum": [
            "CARDINALITY_UNKNOWN",
            "CARDINALITY_OPTIONAL",
            "CARDINALITY_REQUIRED",
            "CARDINALITY_REPEATED"
          ],
          "type": "string",
          "enumDescriptions": [
            "For fields with unknown cardinality.",
            "For optional fields.",
            "For required fields. Proto2 syntax only.",
            "For repeated fields."
          ]
        },
        "name": {
          "type": "string",
          "description": "The field name."
        },
        "packed": {
          "description": "Whether to use alternative packed wire representation.",
          "type": "boolean"
        },
        "jsonName": {
          "type": "string",
          "description": "The field JSON name."
        }
      },
      "description": "A single field of a message type.",
      "type": "object",
      "id": "Field"
    },
    "V1Beta1OverrideInlineSource": {
      "properties": {
        "overrides": {
          "type": "array",
          "items": {
            "$ref": "V1Beta1QuotaOverride"
          },
          "description": "The overrides to create. Each override must have a value for 'metric' and 'unit', to specify which metric and which limit the override should be applied to. The 'name' field of the override does not need to be set; it is ignored."
        }
      },
      "type": "object",
      "description": "Import data embedded in the request message",
      "id": "V1Beta1OverrideInlineSource"
    },
    "V1Beta1DisableConsumerResponse": {
      "description": "Response message for the `DisableConsumer` method. This response message is assigned to the `response` field of the returned Operation when that operation is done.",
      "id": "V1Beta1DisableConsumerResponse",
      "type": "object",
      "properties": {}
    },
    "Type": {
      "properties": {
        "syntax": {
          "description": "The source syntax.",
          "type": "string",
          "enumDescriptions": [
            "Syntax `proto2`.",
            "Syntax `proto3`."
          ],
          "enum": [
            "SYNTAX_PROTO2",
            "SYNTAX_PROTO3"
          ]
        },
        "options": {
          "type": "array",
          "description": "The protocol buffer options.",
          "items": {
            "$ref": "Option"
          }
        },
        "fields": {
          "description": "The list of fields.",
          "items": {
            "$ref": "Field"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "description": "The fully qualified message name."
        },
        "oneofs": {
          "description": "The list of types appearing in `oneof` definitions in this type.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sourceContext": {
          "description": "The source context.",
          "$ref": "SourceContext"
        }
      },
      "id": "Type",
      "type": "object",
      "description": "A protocol buffer message type."
    },
    "LogDescriptor": {
      "description": "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",
      "id": "LogDescriptor",
      "type": "object",
      "properties": {
        "labels": {
          "description": "The set of labels that are available to describe a specific log entry. Runtime requests that contain labels not specified here are considered invalid.",
          "items": {
            "$ref": "LabelDescriptor"
          },
          "type": "array"
        },
        "displayName": {
          "type": "string",
          "description": "The human-readable name for this log. This information appears on the user interface and should be concise."
        },
        "name": {
          "description": "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 [/_-.].",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "A human-readable description of this log. This information appears in the documentation and can contain details."
        }
      }
    },
    "SourceContext": {
      "description": "`SourceContext` represents information about the source of a protobuf element, like the file in which it is defined.",
      "id": "SourceContext",
      "type": "object",
      "properties": {
        "fileName": {
          "type": "string",
          "description": "The path-qualified name of the .proto file that contained the associated protobuf element. For example: `\"google/protobuf/source_context.proto\"`."
        }
      }
    }
  },
  "canonicalName": "Service Consumer Management",
  "documentationLink": "https://cloud.google.com/service-consumer-management/docs/overview",
  "title": "Service Consumer Management API",
  "basePath": "",
  "protocol": "rest",
  "resources": {
    "operations": {
      "methods": {
        "get": {
          "id": "serviceconsumermanagement.operations.get",
          "httpMethod": "GET",
          "flatPath": "v1beta1/operations/{operationsId}",
          "response": {
            "$ref": "Operation"
          },
          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
          "path": "v1beta1/{+name}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "location": "path",
              "pattern": "^operations/[^/]+$",
              "required": true,
              "type": "string"
            }
          }
        }
      }
    },
    "services": {
      "resources": {
        "consumerQuotaMetrics": {
          "resources": {
            "limits": {
              "methods": {
                "get": {
                  "path": "v1beta1/{+name}",
                  "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "V1Beta1ConsumerQuotaLimit"
                  },
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
                      "description": "The resource name of the quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`"
                    },
                    "view": {
                      "location": "query",
                      "enumDescriptions": [
                        "No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.",
                        "Only buckets with overrides are shown in the response.",
                        "Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead."
                      ],
                      "description": "Specifies the level of detail for quota information in the response.",
                      "type": "string",
                      "enum": [
                        "QUOTA_VIEW_UNSPECIFIED",
                        "BASIC",
                        "FULL"
                      ]
                    }
                  },
                  "httpMethod": "GET",
                  "description": "Retrieves a summary of quota information for a specific quota limit.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}"
                }
              },
              "resources": {
                "producerOverrides": {
                  "methods": {
                    "patch": {
                      "description": "Updates a producer override.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "path": "v1beta1/{+name}",
                      "parameters": {
                        "updateMask": {
                          "location": "query",
                          "format": "google-fieldmask",
                          "type": "string",
                          "description": "Update only the specified fields. If unset, all modifiable fields will be updated."
                        },
                        "name": {
                          "required": true,
                          "type": "string",
                          "description": "The resource name of the override to update. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`",
                          "location": "path",
                          "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$"
                        },
                        "force": {
                          "type": "boolean",
                          "location": "query",
                          "description": "Whether to force the update of the quota override. If updating an override would cause the effective quota for the consumer to decrease by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction."
                        }
                      },
                      "httpMethod": "PATCH",
                      "request": {
                        "$ref": "V1Beta1QuotaOverride"
                      },
                      "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.patch"
                    },
                    "create": {
                      "description": "Creates a producer override. A producer override is applied by the owner or administrator of a service to increase or decrease the amount of quota a consumer of the service is allowed to use. To create multiple overrides at once, use ImportProducerOverrides instead. If an override with the specified dimensions already exists, this call will fail. To overwrite an existing override if one is already present (\"upsert\" semantics), use ImportProducerOverrides instead.",
                      "httpMethod": "POST",
                      "path": "v1beta1/{+parent}/producerOverrides",
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "request": {
                        "$ref": "V1Beta1QuotaOverride"
                      },
                      "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "parent": {
                          "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
                          "type": "string",
                          "description": "The resource name of the parent quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
                          "required": true,
                          "location": "path"
                        },
                        "force": {
                          "type": "boolean",
                          "location": "query",
                          "description": "Whether to force the creation of the quota override. If creating an override would cause the effective quota for the consumer to decrease by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction."
                        }
                      },
                      "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.create"
                    },
                    "list": {
                      "path": "v1beta1/{+parent}/producerOverrides",
                      "parameters": {
                        "parent": {
                          "description": "The resource name of the parent quota limit, returned by a ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
                          "type": "string",
                          "location": "path",
                          "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
                          "required": true
                        },
                        "pageSize": {
                          "description": "Requested size of the next page of data.",
                          "location": "query",
                          "type": "integer",
                          "format": "int32"
                        },
                        "pageToken": {
                          "description": "Token identifying which result to start with; returned by a previous list call.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "parameterOrder": [
                        "parent"
                      ],
                      "description": "Lists all producer overrides on this limit.",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "V1Beta1ListProducerOverridesResponse"
                      },
                      "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides",
                      "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.list",
                      "httpMethod": "GET"
                    },
                    "delete": {
                      "parameters": {
                        "force": {
                          "location": "query",
                          "description": "Whether to force the deletion of the quota override. If deleting an override would cause the effective quota for the consumer to decrease by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction.",
                          "type": "boolean"
                        },
                        "name": {
                          "description": "The resource name of the override to delete. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerOverrides/4a3f2c1d`",
                          "required": true,
                          "location": "path",
                          "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/producerOverrides/[^/]+$",
                          "type": "string"
                        }
                      },
                      "description": "Deletes a producer override.",
                      "httpMethod": "DELETE",
                      "response": {
                        "$ref": "Operation"
                      },
                      "path": "v1beta1/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "serviceconsumermanagement.services.consumerQuotaMetrics.limits.producerOverrides.delete",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/producerOverrides/{producerOverridesId}"
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "list": {
              "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "GET",
              "id": "serviceconsumermanagement.services.consumerQuotaMetrics.list",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Retrieves a summary of all quota information about this consumer that is visible to the service producer, for each quota metric defined by the service. Each metric includes information about all of its defined limits. Each limit includes the limit configuration (quota unit, preciseness, default value), the current effective limit value, and all of the overrides applied to the limit.",
              "parameters": {
                "view": {
                  "enumDescriptions": [
                    "No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.",
                    "Only buckets with overrides are shown in the response.",
                    "Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead."
                  ],
                  "location": "query",
                  "description": "Specifies the level of detail for quota information in the response.",
                  "type": "string",
                  "enum": [
                    "QUOTA_VIEW_UNSPECIFIED",
                    "BASIC",
                    "FULL"
                  ]
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "Token identifying which result to start with; returned by a previous list call."
                },
                "pageSize": {
                  "type": "integer",
                  "description": "Requested size of the next page of data.",
                  "format": "int32",
                  "location": "query"
                },
                "parent": {
                  "pattern": "^services/[^/]+/[^/]+/[^/]+$",
                  "location": "path",
                  "required": true,
                  "description": "Parent of the quotas resource. An example parent would be: `services/serviceconsumermanagement.googleapis.com/projects/123`",
                  "type": "string"
                }
              },
              "path": "v1beta1/{+parent}/consumerQuotaMetrics",
              "response": {
                "$ref": "V1Beta1ListConsumerQuotaMetricsResponse"
              }
            },
            "get": {
              "path": "v1beta1/{+name}",
              "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics/{consumerQuotaMetricsId}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "serviceconsumermanagement.services.consumerQuotaMetrics.get",
              "httpMethod": "GET",
              "response": {
                "$ref": "V1Beta1ConsumerQuotaMetric"
              },
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "view": {
                  "description": "Specifies the level of detail for quota information in the response.",
                  "location": "query",
                  "type": "string",
                  "enumDescriptions": [
                    "No quota view specified. Requests that do not specify a quota view will typically default to the BASIC view.",
                    "Only buckets with overrides are shown in the response.",
                    "Include per-location buckets even if they do not have overrides. When the view is FULL, and a limit has regional or zonal quota, the limit will include buckets for all regions or zones that could support overrides, even if none are currently present. In some cases this will cause the response to become very large; callers that do not need this extra information should use the BASIC view instead."
                  ],
                  "enum": [
                    "QUOTA_VIEW_UNSPECIFIED",
                    "BASIC",
                    "FULL"
                  ]
                },
                "name": {
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^services/[^/]+/[^/]+/[^/]+/consumerQuotaMetrics/[^/]+$",
                  "description": "The resource name of the quota metric, returned by a ListConsumerQuotaMetrics call. An example name would be: `services/compute.googleapis.com/projects/123/consumerQuotaMetrics/compute.googleapis.com%2Fcpus`"
                }
              },
              "description": "Retrieves a summary of quota information for a specific quota metric."
            },
            "importProducerOverrides": {
              "id": "serviceconsumermanagement.services.consumerQuotaMetrics.importProducerOverrides",
              "flatPath": "v1beta1/services/{servicesId}/{servicesId1}/{servicesId2}/consumerQuotaMetrics:importProducerOverrides",
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "type": "string",
                  "description": "The resource name of the consumer. An example name would be: `services/compute.googleapis.com/projects/123`",
                  "pattern": "^services/[^/]+/[^/]+/[^/]+$"
                }
              },
              "request": {
                "$ref": "V1Beta1ImportProducerOverridesRequest"
              },
              "response": {
                "$ref": "Operation"
              },
              "httpMethod": "POST",
              "path": "v1beta1/{+parent}/consumerQuotaMetrics:importProducerOverrides",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "parent"
              ],
              "description": "Create or update multiple producer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set."
            }
          }
        }
      }
    }
  },
  "version_module": true,
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "id": "serviceconsumermanagement:v1beta1",
  "description": "Manages the service consumers of a Service Infrastructure service.",
  "rootUrl": "https://serviceconsumermanagement.googleapis.com/",
  "batchPath": "batch",
  "name": "serviceconsumermanagement",
  "version": "v1beta1",
  "discoveryVersion": "v1",
  "parameters": {
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json",
      "description": "Data format for response.",
      "location": "query",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query"
    }
  },
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "fullyEncodeReservedExpansion": true,
  "baseUrl": "https://serviceconsumermanagement.googleapis.com/",
  "kind": "discovery#restDescription"
}
