update all json files

This commit is contained in:
Sebastian Thiel
2020-04-12 18:55:37 +08:00
parent ea3b428364
commit aacc30f08d
260 changed files with 138411 additions and 26293 deletions

View File

@@ -28,6 +28,7 @@
},
"id": "serviceusage:v1",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://serviceusage.mtls.googleapis.com/",
"name": "serviceusage",
"ownerDomain": "google.com",
"ownerName": "Google",
@@ -124,7 +125,7 @@
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^operations/.+$",
"pattern": "^operations/.*$",
"required": true,
"type": "string"
}
@@ -153,7 +154,7 @@
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^operations/.+$",
"pattern": "^operations/.*$",
"required": true,
"type": "string"
}
@@ -236,7 +237,7 @@
"services": {
"methods": {
"batchEnable": {
"description": "Enable multiple services on a project. The operation is atomic: if enabling\nany service fails, then the entire batch fails, and no state changes occur.",
"description": "Enable multiple services on a project. The operation is atomic: if enabling\nany service fails, then the entire batch fails, and no state changes occur.\nTo enable a single service, use the `EnableService` method instead.",
"flatPath": "v1/{v1Id}/{v1Id1}/services:batchEnable",
"httpMethod": "POST",
"id": "serviceusage.services.batchEnable",
@@ -264,6 +265,38 @@
"https://www.googleapis.com/auth/service.management"
]
},
"batchGet": {
"description": "Returns the service configurations and enabled states for a given list of\nservices.",
"flatPath": "v1/{v1Id}/{v1Id1}/services:batchGet",
"httpMethod": "GET",
"id": "serviceusage.services.batchGet",
"parameterOrder": [
"parent"
],
"parameters": {
"names": {
"description": "Names of the services to retrieve.\n\nAn example name would be:\n`projects/123/services/serviceusage.googleapis.com` where `123` is the\nproject number.\nA single request can get a maximum of 20 services at a time.",
"location": "query",
"repeated": true,
"type": "string"
},
"parent": {
"description": "Parent to retrieve services from.\nIf this is set, the parent of all of the services specified in `names` must\nmatch this field. An example name would be: `projects/123` where `123` is\nthe project number. The `BatchGetServices` method currently only supports\nprojects.",
"location": "path",
"pattern": "^[^/]+/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/services:batchGet",
"response": {
"$ref": "BatchGetServicesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
},
"disable": {
"description": "Disable a service so that it can no longer be used with a project.\nThis prevents unintended usage that may cause unexpected billing\ncharges or security leaks.\n\nIt is not valid to call the disable method on a service that is not\ncurrently enabled. Callers will receive a `FAILED_PRECONDITION` status if\nthe target service is not currently enabled.",
"flatPath": "v1/{v1Id}/{v1Id1}/services/{servicesId}:disable",
@@ -393,7 +426,7 @@
}
}
},
"revision": "20190625",
"revision": "20200408",
"rootUrl": "https://serviceusage.googleapis.com/",
"schemas": {
"Api": {
@@ -453,7 +486,7 @@
"id": "AuthProvider",
"properties": {
"audiences": {
"description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com",
"description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, JWTs with audiences:\n - \"https://[service.name]/[google.protobuf.Api.name]\"\n - \"https://[service.name]/\"\nwill be accepted.\nFor example, if no audiences are in the setting, LibraryService API will\naccept JWTs with the following audiences:\n -\n https://library-example.googleapis.com/google.example.library.v1.LibraryService\n - https://library-example.googleapis.com/\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com",
"type": "string"
},
"authorizationUrl": {
@@ -471,6 +504,13 @@
"jwksUri": {
"description": "URL of the provider's public key set to validate signature of the JWT. See\n[OpenID\nDiscovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID\n Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of\n the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google\n service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs",
"type": "string"
},
"jwtLocations": {
"description": "Defines the locations to extract the JWT.\n\nJWT locations can be either from HTTP headers or URL query parameters.\nThe rule is that the first match wins. The checking order is: checking\nall headers first, then URL query parameters.\n\nIf not specified, default to use following 3 locations:\n 1) Authorization: Bearer\n 2) x-goog-iap-jwt-assertion\n 3) access_token query parameter\n\nDefault locations can be specified as followings:\n jwt_locations:\n - header: Authorization\n value_prefix: \"Bearer \"\n - header: x-goog-iap-jwt-assertion\n - query: access_token",
"items": {
"$ref": "JwtLocation"
},
"type": "array"
}
},
"type": "object"
@@ -556,16 +596,20 @@
"id": "BackendRule",
"properties": {
"address": {
"description": "The address of the API backend.",
"description": "The address of the API backend.\n\nThe scheme is used to determine the backend protocol and security.\nThe following schemes are accepted:\n\n SCHEME PROTOCOL SECURITY\n http:// HTTP None\n https:// HTTP TLS\n grpc:// gRPC None\n grpcs:// gRPC TLS\n\nIt is recommended to explicitly include a scheme. Leaving out the scheme\nmay cause constrasting behaviors across platforms.\n\nIf the port is unspecified, the default is:\n- 80 for schemes without TLS\n- 443 for schemes with TLS\n\nFor HTTP backends, use protocol\nto specify the protocol version.",
"type": "string"
},
"deadline": {
"description": "The number of seconds to wait for a response from a request. The default\ndeadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.",
"description": "The number of seconds to wait for a response from a request. The default\nvaries based on the request protocol and deployment environment.",
"format": "double",
"type": "number"
},
"disableAuth": {
"description": "When disable_auth is true, a JWT ID token won't be generated and the\noriginal \"Authorization\" HTTP header will be preserved. If the header is\nused to carry the original token and is expected by the backend, this\nfield must be set to true to preserve the header.",
"type": "boolean"
},
"jwtAudience": {
"description": "The JWT audience is used when generating a JWT id token for the backend.",
"description": "The JWT audience is used when generating a JWT ID token for the backend.\nThis ID token will be added in the HTTP \"authorization\" header, and sent\nto the backend.",
"type": "string"
},
"minDeadline": {
@@ -591,6 +635,14 @@
],
"type": "string"
},
"protocol": {
"description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.",
"type": "string"
},
"renameTo": {
"description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.",
"type": "string"
},
"selector": {
"description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.",
"type": "string"
@@ -631,7 +683,7 @@
"id": "BatchEnableServicesRequest",
"properties": {
"serviceIds": {
"description": "The identifiers of the services to enable on the project.\n\nA valid identifier would be:\nserviceusage.googleapis.com\n\nEnabling services requires that each service is public or is shared with\nthe user enabling the service.\n\nTwo or more services must be specified. To enable a single service,\nuse the `EnableService` method instead.\n\nA single request can enable a maximum of 20 services at a time. If more\nthan 20 services are specified, the request will fail, and no state changes\nwill occur.",
"description": "The identifiers of the services to enable on the project.\n\nA valid identifier would be:\nserviceusage.googleapis.com\n\nEnabling services requires that each service is public or is shared with\nthe user enabling the service.\n\nA single request can enable a maximum of 20 services at a time. If more\nthan 20 services are specified, the request will fail, and no state changes\nwill occur.",
"items": {
"type": "string"
},
@@ -661,6 +713,20 @@
},
"type": "object"
},
"BatchGetServicesResponse": {
"description": "Response message for the `BatchGetServices` method.",
"id": "BatchGetServicesResponse",
"properties": {
"services": {
"description": "The requested Service states.",
"items": {
"$ref": "GoogleApiServiceusageV1Service"
},
"type": "array"
}
},
"type": "object"
},
"Billing": {
"description": "Billing related configuration of the service.\n\nThe following example shows how to configure monitored resources and metrics\nfor billing:\n\n monitored_resources:\n - type: library.googleapis.com/branch\n labels:\n - key: /city\n description: The city where the library branch is located in.\n - key: /name\n description: The name of the branch.\n metrics:\n - name: library.googleapis.com/book/borrowed_count\n metric_kind: DELTA\n value_type: INT64\n billing:\n consumer_destinations:\n - monitored_resource: library.googleapis.com/branch\n metrics:\n - library.googleapis.com/book/borrowed_count",
"id": "Billing",
@@ -862,6 +928,10 @@
},
"type": "array"
},
"serviceRootUrl": {
"description": "Specifies the service root url if the default one (the service name\nfrom the yaml file) is not suitable. This can be seen in any fully\nspecified service urls as well as sections that show a base that other\nurls are relative to.",
"type": "string"
},
"summary": {
"description": "A short summary of what the service does. Can only be provided by\nplain text.",
"type": "string"
@@ -1129,6 +1199,29 @@
},
"type": "object"
},
"GetServiceIdentityResponse": {
"description": "Response message for getting service identity.",
"id": "GetServiceIdentityResponse",
"properties": {
"identity": {
"$ref": "ServiceIdentity",
"description": "Service identity that service producer can use to access consumer\nresources. If exists is true, it contains email and unique_id. If exists is\nfalse, it contains pre-constructed email and empty unique_id."
},
"state": {
"description": "Service identity state.",
"enum": [
"IDENTITY_STATE_UNSPECIFIED",
"ACTIVE"
],
"enumDescriptions": [
"Default service identity state. This value is used if the state is\nomitted.",
"Service identity has been created and can be used."
],
"type": "string"
}
},
"type": "object"
},
"GoogleApiService": {
"description": "`Service` is the root object of Google service configuration schema. It\ndescribes basic information about a service, such as the name and the\ntitle, and delegates other aspects to sub-sections. Each sub-section is\neither a proto message or a repeated proto message that configures a\nspecific aspect, such as auth. See each proto message definition for details.\n\nExample:\n\n type: google.api.Service\n config_version: 3\n name: calendar.googleapis.com\n title: Google Calendar API\n apis:\n - name: google.calendar.v3.Calendar\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth",
"id": "GoogleApiService",
@@ -1153,7 +1246,7 @@
"description": "Billing configuration."
},
"configVersion": {
"description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\nThe latest config version is `3`.",
"description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\n\nThe latest config version is `3`.",
"format": "uint32",
"type": "integer"
},
@@ -1192,7 +1285,7 @@
"description": "HTTP configuration."
},
"id": {
"description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead. Must be no longer than 60 characters.",
"description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. Must be no longer than 63 characters\nand only lower case letters, digits, '.', '_' and '-' are allowed. If\nempty, the server may choose to generate one instead.",
"type": "string"
},
"logging": {
@@ -1269,6 +1362,25 @@
},
"type": "object"
},
"GoogleApiServiceIdentity": {
"description": "The per-product per-project service identity for a service.\n\n\nUse this field to configure per-product per-project service identity.\nExample of a service identity configuration.\n\n usage:\n service_identity:\n - service_account_parent: \"projects/123456789\"\n display_name: \"Cloud XXX Service Agent\"\n description: \"Used as the identity of Cloud XXX to access resources\"",
"id": "GoogleApiServiceIdentity",
"properties": {
"description": {
"description": "Optional. A user-specified opaque description of the service account.\nMust be less than or equal to 256 UTF-8 bytes.",
"type": "string"
},
"displayName": {
"description": "Optional. A user-specified name for the service account.\nMust be less than or equal to 100 UTF-8 bytes.",
"type": "string"
},
"serviceAccountParent": {
"description": "A service account project that hosts the service accounts.\n\nAn example name would be:\n`projects/123456789`",
"type": "string"
}
},
"type": "object"
},
"GoogleApiServiceusageV1OperationMetadata": {
"description": "The operation metadata returned for the batchend services operation.",
"id": "GoogleApiServiceusageV1OperationMetadata",
@@ -1361,6 +1473,44 @@
},
"type": "object"
},
"GoogleApiServiceusageV1beta1GetServiceIdentityResponse": {
"description": "Response message for getting service identity.",
"id": "GoogleApiServiceusageV1beta1GetServiceIdentityResponse",
"properties": {
"identity": {
"$ref": "GoogleApiServiceusageV1beta1ServiceIdentity",
"description": "Service identity that service producer can use to access consumer\nresources. If exists is true, it contains email and unique_id. If exists is\nfalse, it contains pre-constructed email and empty unique_id."
},
"state": {
"description": "Service identity state.",
"enum": [
"IDENTITY_STATE_UNSPECIFIED",
"ACTIVE"
],
"enumDescriptions": [
"Default service identity state. This value is used if the state is\nomitted.",
"Service identity has been created and can be used."
],
"type": "string"
}
},
"type": "object"
},
"GoogleApiServiceusageV1beta1ServiceIdentity": {
"description": "Service identity for a service. This is the identity that service producer\nshould use to access consumer resources.",
"id": "GoogleApiServiceusageV1beta1ServiceIdentity",
"properties": {
"email": {
"description": "The email address of the service account that a service producer would use\nto access consumer resources.",
"type": "string"
},
"uniqueId": {
"description": "The unique and stable id of the service account.\nhttps://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount",
"type": "string"
}
},
"type": "object"
},
"Http": {
"description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.",
"id": "Http",
@@ -1390,6 +1540,10 @@
},
"type": "array"
},
"allowHalfDuplex": {
"description": "When this flag is set to true, HTTP requests will be allowed to invoke a\nhalf-duplex streaming method.",
"type": "boolean"
},
"body": {
"description": "The name of the request field whose value is mapped to the HTTP request\nbody, or `*` for mapping all request fields not captured by the path\npattern to the HTTP body, or omitted for not having any HTTP request body.\n\nNOTE: the referred field must be present at the top-level of the request\nmessage type.",
"type": "string"
@@ -1429,6 +1583,53 @@
},
"type": "object"
},
"ImportAdminOverridesResponse": {
"description": "Response message for ImportAdminOverrides",
"id": "ImportAdminOverridesResponse",
"properties": {
"overrides": {
"description": "The overrides that were created from the imported data.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"ImportConsumerOverridesResponse": {
"description": "Response message for ImportConsumerOverrides",
"id": "ImportConsumerOverridesResponse",
"properties": {
"overrides": {
"description": "The overrides that were created from the imported data.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"JwtLocation": {
"description": "Specifies a location to extract JWT from an API request.",
"id": "JwtLocation",
"properties": {
"header": {
"description": "Specifies HTTP header name to extract JWT token.",
"type": "string"
},
"query": {
"description": "Specifies URL query parameter name to extract JWT token.",
"type": "string"
},
"valuePrefix": {
"description": "The value prefix. The value format is \"value_prefix{token}\"\nOnly applies to \"in\" header type. Must be empty for \"in\" query type.\nIf not empty, the header value has to match (case sensitive) this prefix.\nIf not matched, JWT will not be extracted. If matched, JWT will be\nextracted after the prefix is removed.\n\nFor example, for \"Authorization: Bearer {JWT}\",\nvalue_prefix=\"Bearer \" with a space at the end.",
"type": "string"
}
},
"type": "object"
},
"LabelDescriptor": {
"description": "A description of a label.",
"id": "LabelDescriptor",
@@ -1628,6 +1829,8 @@
"description": "Optional. The launch stage of the metric definition.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1636,6 +1839,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -1664,6 +1869,13 @@
],
"type": "string"
},
"monitoredResourceTypes": {
"description": "Read-only. If present, then a time\nseries, which is identified partially by\na metric type and a MonitoredResourceDescriptor, that is associated\nwith this metric type can only be associated with one of the monitored\nresource types listed here.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The resource name of the metric descriptor.",
"type": "string"
@@ -1673,7 +1885,7 @@
"type": "string"
},
"unit": {
"description": "The unit in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The\nsupported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10**3)\n* `M` mega (10**6)\n* `G` giga (10**9)\n* `T` tera (10**12)\n* `P` peta (10**15)\n* `E` exa (10**18)\n* `Z` zetta (10**21)\n* `Y` yotta (10**24)\n* `m` milli (10**-3)\n* `u` micro (10**-6)\n* `n` nano (10**-9)\n* `p` pico (10**-12)\n* `f` femto (10**-15)\n* `a` atto (10**-18)\n* `z` zepto (10**-21)\n* `y` yocto (10**-24)\n* `Ki` kibi (2**10)\n* `Mi` mebi (2**20)\n* `Gi` gibi (2**30)\n* `Ti` tebi (2**40)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division (as an infix operator, e.g. `1/s`).\n* `.` multiplication (as an infix operator, e.g. `GBy.d`)\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT` and is\n equivalent to `1` if it is used alone. For examples,\n `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing '{' or '}'.\n* `1` represents dimensionless value 1, such as in `1/s`.\n* `%` represents dimensionless value 1/100, and annotates values giving\n a percentage.",
"description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").",
"type": "string"
},
"valueType": {
@@ -1711,9 +1923,11 @@
"type": "string"
},
"launchStage": {
"description": "Deprecated. Please use the MetricDescriptor.launch_stage instead.\nThe launch stage of the metric definition.",
"description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1722,6 +1936,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -1795,6 +2011,8 @@
"description": "Optional. The launch stage of the monitored resource definition.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1803,6 +2021,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -2001,7 +2221,7 @@
"type": "string"
},
"duration": {
"description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.",
"description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\".\n\nUsed by group-based quotas only.",
"type": "string"
},
"freeTier": {
@@ -2045,9 +2265,13 @@
"additionalProperties": {
"type": "string"
},
"description": "If this map is nonempty, then this override applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an override on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe override is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n- Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n- \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n- \"user\" is not a valid key; the API does not support quota overrides\n that apply only to a specific user.\n- If \"region\" appears as a key, its value must be a valid Cloud region.\n- If \"zone\" appears as a key, its value must be a valid Cloud zone.\n- If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the map.",
"description": "If this map is nonempty, then this override applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an override on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe override is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n* \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n* \"user\" is not a valid key; the API does not support quota overrides\n that apply only to a specific user.\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the\n map.",
"type": "object"
},
"metric": {
"description": "The name of the metric to which this override applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`",
"type": "string"
},
"name": {
"description": "The resource name of the override.\nThis name is generated by the server when the override is created.\n\nExample names would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.",
"type": "string"
@@ -2056,6 +2280,25 @@
"description": "The overriding quota limit value.\nCan be any nonnegative integer, or -1 (unlimited quota).",
"format": "int64",
"type": "string"
},
"unit": {
"description": "The limit unit of the limit to which this override applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.",
"type": "string"
}
},
"type": "object"
},
"ServiceIdentity": {
"description": "Service identity for a service. This is the identity that service producer\nshould use to access consumer resources.",
"id": "ServiceIdentity",
"properties": {
"email": {
"description": "The email address of the service account that a service producer would use\nto access consumer resources.",
"type": "string"
},
"uniqueId": {
"description": "The unique and stable id of the service account.\nhttps://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount",
"type": "string"
}
},
"type": "object"
@@ -2236,6 +2479,10 @@
"$ref": "UsageRule"
},
"type": "array"
},
"serviceIdentity": {
"$ref": "GoogleApiServiceIdentity",
"description": "The configuration of a per-product per-project service identity."
}
},
"type": "object"

View File

@@ -28,6 +28,7 @@
},
"id": "serviceusage:v1beta1",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://serviceusage.mtls.googleapis.com/",
"name": "serviceusage",
"ownerDomain": "google.com",
"ownerName": "Google",
@@ -335,10 +336,435 @@
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
}
},
"resources": {
"consumerQuotaMetrics": {
"methods": {
"get": {
"description": "Retrieves a summary of quota information for a specific quota metric",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}",
"httpMethod": "GET",
"id": "serviceusage.services.consumerQuotaMetrics.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the quota limit.\n\nAn example name would be:\nprojects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Specifies the level of detail for quota information in the response.",
"enum": [
"QUOTA_VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"response": {
"$ref": "ConsumerQuotaMetric"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
},
"list": {
"description": "Retrieves a summary of all quota information visible to the service\nconsumer, organized by service metric. Each metric includes information\nabout all of its defined limits. Each limit includes the limit\nconfiguration (quota unit, preciseness, default value), the current\neffective limit value, and all of the overrides applied to the limit.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics",
"httpMethod": "GET",
"id": "serviceusage.services.consumerQuotaMetrics.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Requested size of the next page of data.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Parent of the quotas resource.\n\nSome example names would be:\nprojects/123/services/serviceconsumermanagement.googleapis.com\nfolders/345/services/serviceconsumermanagement.googleapis.com\norganizations/456/services/serviceconsumermanagement.googleapis.com",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Specifies the level of detail for quota information in the response.",
"enum": [
"QUOTA_VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+parent}/consumerQuotaMetrics",
"response": {
"$ref": "ListConsumerQuotaMetricsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
}
},
"resources": {
"limits": {
"methods": {
"get": {
"description": "Retrieves a summary of quota information for a specific quota limit.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}",
"httpMethod": "GET",
"id": "serviceusage.services.consumerQuotaMetrics.limits.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The resource name of the quota limit.\n\nUse the quota limit resource name returned by previous\nListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls.",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Specifies the level of detail for quota information in the response.",
"enum": [
"QUOTA_VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"response": {
"$ref": "ConsumerQuotaLimit"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
}
},
"resources": {
"adminOverrides": {
"methods": {
"create": {
"description": "Creates an admin override.\nAn admin override is applied by an administrator of a parent folder or\nparent organization of the consumer receiving the override. An admin\noverride is intended to limit the amount of quota the consumer can use out\nof the total quota pool allocated to all children of the folder or\norganization.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/adminOverrides",
"httpMethod": "POST",
"id": "serviceusage.services.consumerQuotaMetrics.limits.adminOverrides.create",
"parameterOrder": [
"parent"
],
"parameters": {
"force": {
"description": "Whether to force the creation of the quota override.\nIf creating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"parent": {
"description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+parent}/adminOverrides",
"request": {
"$ref": "QuotaOverride"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
},
"delete": {
"description": "Deletes an admin override.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/adminOverrides/{adminOverridesId}",
"httpMethod": "DELETE",
"id": "serviceusage.services.consumerQuotaMetrics.limits.adminOverrides.delete",
"parameterOrder": [
"name"
],
"parameters": {
"force": {
"description": "Whether to force the deletion of the quota override.\nIf deleting an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The resource name of the override to delete.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/adminOverrides/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
},
"list": {
"description": "Lists all admin overrides on this limit.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/adminOverrides",
"httpMethod": "GET",
"id": "serviceusage.services.consumerQuotaMetrics.limits.adminOverrides.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Requested size of the next page of data.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"location": "query",
"type": "string"
},
"parent": {
"description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+parent}/adminOverrides",
"response": {
"$ref": "ListAdminOverridesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
},
"patch": {
"description": "Updates an admin override.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/adminOverrides/{adminOverridesId}",
"httpMethod": "PATCH",
"id": "serviceusage.services.consumerQuotaMetrics.limits.adminOverrides.patch",
"parameterOrder": [
"name"
],
"parameters": {
"force": {
"description": "Whether to force the update of the quota override.\nIf updating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The resource name of the override to update.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/adminOverrides/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Update only the specified fields of the override.\nIf unset, all fields will be updated.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"request": {
"$ref": "QuotaOverride"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
}
}
},
"consumerOverrides": {
"methods": {
"create": {
"description": "Creates a consumer override.\nA consumer override is applied to the consumer on its own authority to\nlimit its own quota usage. Consumer overrides cannot be used to grant more\nquota than would be allowed by admin overrides, producer overrides, or the\ndefault limit of the service.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/consumerOverrides",
"httpMethod": "POST",
"id": "serviceusage.services.consumerQuotaMetrics.limits.consumerOverrides.create",
"parameterOrder": [
"parent"
],
"parameters": {
"force": {
"description": "Whether to force the creation of the quota override.\nIf creating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"parent": {
"description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+parent}/consumerOverrides",
"request": {
"$ref": "QuotaOverride"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
},
"delete": {
"description": "Deletes a consumer override.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/consumerOverrides/{consumerOverridesId}",
"httpMethod": "DELETE",
"id": "serviceusage.services.consumerQuotaMetrics.limits.consumerOverrides.delete",
"parameterOrder": [
"name"
],
"parameters": {
"force": {
"description": "Whether to force the deletion of the quota override.\nIf deleting an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The resource name of the override to delete.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/consumerOverrides/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
},
"list": {
"description": "Lists all consumer overrides on this limit.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/consumerOverrides",
"httpMethod": "GET",
"id": "serviceusage.services.consumerQuotaMetrics.limits.consumerOverrides.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Requested size of the next page of data.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"location": "query",
"type": "string"
},
"parent": {
"description": "The resource name of the parent quota limit, returned by a\nListConsumerQuotaMetrics or GetConsumerQuotaMetric call.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1beta1/{+parent}/consumerOverrides",
"response": {
"$ref": "ListConsumerOverridesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/cloud-platform.read-only"
]
},
"patch": {
"description": "Updates a consumer override.",
"flatPath": "v1beta1/{v1beta1Id}/{v1beta1Id1}/services/{servicesId}/consumerQuotaMetrics/{consumerQuotaMetricsId}/limits/{limitsId}/consumerOverrides/{consumerOverridesId}",
"httpMethod": "PATCH",
"id": "serviceusage.services.consumerQuotaMetrics.limits.consumerOverrides.patch",
"parameterOrder": [
"name"
],
"parameters": {
"force": {
"description": "Whether to force the update of the quota override.\nIf updating an override would cause the effective quota for the consumer to\ndecrease by more than 10 percent, the call is rejected, as a safety measure\nto avoid accidentally decreasing quota too quickly. Setting the force\nparameter to true ignores this restriction.",
"location": "query",
"type": "boolean"
},
"name": {
"description": "The resource name of the override to update.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`",
"location": "path",
"pattern": "^[^/]+/[^/]+/services/[^/]+/consumerQuotaMetrics/[^/]+/limits/[^/]+/consumerOverrides/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Update only the specified fields of the override.\nIf unset, all fields will be updated.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1beta1/{+name}",
"request": {
"$ref": "QuotaOverride"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/service.management"
]
}
}
}
}
}
}
}
}
}
},
"revision": "20190625",
"revision": "20200408",
"rootUrl": "https://serviceusage.googleapis.com/",
"schemas": {
"Api": {
@@ -398,7 +824,7 @@
"id": "AuthProvider",
"properties": {
"audiences": {
"description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, only JWTs with audience\n\"https://Service_name/API_name\"\nwill be accepted. For example, if no audiences are in the setting,\nLibraryService API will only accept JWTs with the following audience\n\"https://library-example.googleapis.com/google.example.library.v1.LibraryService\".\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com",
"description": "The list of JWT\n[audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).\nthat are allowed to access. A JWT containing any of these audiences will\nbe accepted. When this setting is absent, JWTs with audiences:\n - \"https://[service.name]/[google.protobuf.Api.name]\"\n - \"https://[service.name]/\"\nwill be accepted.\nFor example, if no audiences are in the setting, LibraryService API will\naccept JWTs with the following audiences:\n -\n https://library-example.googleapis.com/google.example.library.v1.LibraryService\n - https://library-example.googleapis.com/\n\nExample:\n\n audiences: bookstore_android.apps.googleusercontent.com,\n bookstore_web.apps.googleusercontent.com",
"type": "string"
},
"authorizationUrl": {
@@ -416,6 +842,13 @@
"jwksUri": {
"description": "URL of the provider's public key set to validate signature of the JWT. See\n[OpenID\nDiscovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).\nOptional if the key set document:\n - can be retrieved from\n [OpenID\n Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html of\n the issuer.\n - can be inferred from the email domain of the issuer (e.g. a Google\n service account).\n\nExample: https://www.googleapis.com/oauth2/v1/certs",
"type": "string"
},
"jwtLocations": {
"description": "Defines the locations to extract the JWT.\n\nJWT locations can be either from HTTP headers or URL query parameters.\nThe rule is that the first match wins. The checking order is: checking\nall headers first, then URL query parameters.\n\nIf not specified, default to use following 3 locations:\n 1) Authorization: Bearer\n 2) x-goog-iap-jwt-assertion\n 3) access_token query parameter\n\nDefault locations can be specified as followings:\n jwt_locations:\n - header: Authorization\n value_prefix: \"Bearer \"\n - header: x-goog-iap-jwt-assertion\n - query: access_token",
"items": {
"$ref": "JwtLocation"
},
"type": "array"
}
},
"type": "object"
@@ -501,16 +934,20 @@
"id": "BackendRule",
"properties": {
"address": {
"description": "The address of the API backend.",
"description": "The address of the API backend.\n\nThe scheme is used to determine the backend protocol and security.\nThe following schemes are accepted:\n\n SCHEME PROTOCOL SECURITY\n http:// HTTP None\n https:// HTTP TLS\n grpc:// gRPC None\n grpcs:// gRPC TLS\n\nIt is recommended to explicitly include a scheme. Leaving out the scheme\nmay cause constrasting behaviors across platforms.\n\nIf the port is unspecified, the default is:\n- 80 for schemes without TLS\n- 443 for schemes with TLS\n\nFor HTTP backends, use protocol\nto specify the protocol version.",
"type": "string"
},
"deadline": {
"description": "The number of seconds to wait for a response from a request. The default\ndeadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.",
"description": "The number of seconds to wait for a response from a request. The default\nvaries based on the request protocol and deployment environment.",
"format": "double",
"type": "number"
},
"disableAuth": {
"description": "When disable_auth is true, a JWT ID token won't be generated and the\noriginal \"Authorization\" HTTP header will be preserved. If the header is\nused to carry the original token and is expected by the backend, this\nfield must be set to true to preserve the header.",
"type": "boolean"
},
"jwtAudience": {
"description": "The JWT audience is used when generating a JWT id token for the backend.",
"description": "The JWT audience is used when generating a JWT ID token for the backend.\nThis ID token will be added in the HTTP \"authorization\" header, and sent\nto the backend.",
"type": "string"
},
"minDeadline": {
@@ -536,6 +973,14 @@
],
"type": "string"
},
"protocol": {
"description": "The protocol used for sending a request to the backend.\nThe supported values are \"http/1.1\" and \"h2\".\n\nThe default value is inferred from the scheme in the\naddress field:\n\n SCHEME PROTOCOL\n http:// http/1.1\n https:// http/1.1\n grpc:// h2\n grpcs:// h2\n\nFor secure HTTP backends (https://) that support HTTP/2, set this field\nto \"h2\" for improved performance.\n\nConfiguring this field to non-default values is only supported for secure\nHTTP backends. This field will be ignored for all other backends.\n\nSee\nhttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids\nfor more details on the supported values.",
"type": "string"
},
"renameTo": {
"description": "Unimplemented. Do not use.\n\nThe new name the selected proto elements should be renamed to.\n\nThe package, the service and the method can all be renamed.\nThe backend server should implement the renamed proto. However, clients\nshould call the original method, and ESF routes the traffic to the renamed\nmethod.\n\nHTTP clients should call the URL mapped to the original method.\ngRPC and Stubby clients should call the original method with package name.\n\nFor legacy reasons, ESF allows Stubby clients to call with the\nshort name (without the package name). However, for API Versioning(or\nmultiple methods mapped to the same short name), all Stubby clients must\ncall the method's full name with the package name, otherwise the first one\n(selector) wins.\n\nIf this `rename_to` is specified with a trailing `*`, the `selector` must\nbe specified with a trailing `*` as well. The all element short names\nmatched by the `*` in the selector will be kept in the `rename_to`.\n\nFor example,\n rename_rules:\n - selector: |-\n google.example.library.v1.*\n rename_to: google.example.library.*\n\nThe selector matches `google.example.library.v1.Library.CreateShelf` and\n`google.example.library.v1.Library.CreateBook`, they will be renamed to\n`google.example.library.Library.CreateShelf` and\n`google.example.library.Library.CreateBook`. It essentially renames the\nproto package name section of the matched proto service and methods.",
"type": "string"
},
"selector": {
"description": "Selects the methods to which this rule applies.\n\nRefer to selector for syntax details.",
"type": "string"
@@ -638,6 +1083,66 @@
},
"type": "object"
},
"ConsumerQuotaLimit": {
"description": "Consumer quota settings for a quota limit.",
"id": "ConsumerQuotaLimit",
"properties": {
"allowsAdminOverrides": {
"description": "Whether admin overrides are allowed on this limit",
"type": "boolean"
},
"isPrecise": {
"description": "Whether this limit is precise or imprecise.",
"type": "boolean"
},
"metric": {
"description": "The name of the parent metric of this limit.\n\nAn example name would be:\n`compute.googleapis.com/cpus`",
"type": "string"
},
"name": {
"description": "The resource name of the quota limit.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion`\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.",
"type": "string"
},
"quotaBuckets": {
"description": "Summary of the enforced quota buckets, organized by quota dimension,\nordered from least specific to most specific (for example, the global\ndefault bucket, with no quota dimensions, will always appear first).",
"items": {
"$ref": "QuotaBucket"
},
"type": "array"
},
"unit": {
"description": "The limit unit.\n\nAn example unit would be\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.",
"type": "string"
}
},
"type": "object"
},
"ConsumerQuotaMetric": {
"description": "Consumer quota settings for a quota metric.",
"id": "ConsumerQuotaMetric",
"properties": {
"consumerQuotaLimits": {
"description": "The consumer quota for each quota limit defined on the metric.",
"items": {
"$ref": "ConsumerQuotaLimit"
},
"type": "array"
},
"displayName": {
"description": "The display name of the metric.\n\nAn example name would be:\n\"CPUs\"",
"type": "string"
},
"metric": {
"description": "The name of the metric.\n\nAn example name would be:\n`compute.googleapis.com/cpus`",
"type": "string"
},
"name": {
"description": "The resource name of the quota settings on this metric for this consumer.\n\nAn example name would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.",
"type": "string"
}
},
"type": "object"
},
"Context": {
"description": "`Context` defines which contexts an API requests.\n\nExample:\n\n context:\n rules:\n - selector: \"*\"\n requested:\n - google.rpc.context.ProjectContext\n - google.rpc.context.OriginContext\n\nThe above specifies that all methods in the API request\n`google.rpc.context.ProjectContext` and\n`google.rpc.context.OriginContext`.\n\nAvailable context types are defined in package\n`google.rpc.context`.\n\nThis also provides mechanism to whitelist any protobuf message extension that\ncan be sent in grpc metadata using \u201cx-goog-ext-<extension_id>-bin\u201d and\n\u201cx-goog-ext-<extension_id>-jspb\u201d format. For example, list any service\nspecific protobuf types that can appear in grpc metadata as follows in your\nyaml file:\n\nExample:\n\n context:\n rules:\n - selector: \"google.example.library.v1.LibraryService.CreateBook\"\n allowed_request_extensions:\n - google.foo.v1.NewExtension\n allowed_response_extensions:\n - google.foo.v1.NewExtension\n\nYou can also specify extension ID instead of fully qualified extension name\nhere.",
"id": "Context",
@@ -796,6 +1301,10 @@
},
"type": "array"
},
"serviceRootUrl": {
"description": "Specifies the service root url if the default one (the service name\nfrom the yaml file) is not suitable. This can be seen in any fully\nspecified service urls as well as sections that show a base that other\nurls are relative to.",
"type": "string"
},
"summary": {
"description": "A short summary of what the service does. Can only be provided by\nplain text.",
"type": "string"
@@ -1063,6 +1572,29 @@
},
"type": "object"
},
"GetServiceIdentityResponse": {
"description": "Response message for getting service identity.",
"id": "GetServiceIdentityResponse",
"properties": {
"identity": {
"$ref": "ServiceIdentity",
"description": "Service identity that service producer can use to access consumer\nresources. If exists is true, it contains email and unique_id. If exists is\nfalse, it contains pre-constructed email and empty unique_id."
},
"state": {
"description": "Service identity state.",
"enum": [
"IDENTITY_STATE_UNSPECIFIED",
"ACTIVE"
],
"enumDescriptions": [
"Default service identity state. This value is used if the state is\nomitted.",
"Service identity has been created and can be used."
],
"type": "string"
}
},
"type": "object"
},
"GoogleApiService": {
"description": "`Service` is the root object of Google service configuration schema. It\ndescribes basic information about a service, such as the name and the\ntitle, and delegates other aspects to sub-sections. Each sub-section is\neither a proto message or a repeated proto message that configures a\nspecific aspect, such as auth. See each proto message definition for details.\n\nExample:\n\n type: google.api.Service\n config_version: 3\n name: calendar.googleapis.com\n title: Google Calendar API\n apis:\n - name: google.calendar.v3.Calendar\n authentication:\n providers:\n - id: google_calendar_auth\n jwks_uri: https://www.googleapis.com/oauth2/v1/certs\n issuer: https://securetoken.google.com\n rules:\n - selector: \"*\"\n requirements:\n provider_id: google_calendar_auth",
"id": "GoogleApiService",
@@ -1087,7 +1619,7 @@
"description": "Billing configuration."
},
"configVersion": {
"description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\nThe latest config version is `3`.",
"description": "The semantic version of the service configuration. The config version\naffects the interpretation of the service configuration. For example,\ncertain features are enabled by default for certain config versions.\n\nThe latest config version is `3`.",
"format": "uint32",
"type": "integer"
},
@@ -1126,7 +1658,7 @@
"description": "HTTP configuration."
},
"id": {
"description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. If empty, the server may choose to\ngenerate one instead. Must be no longer than 60 characters.",
"description": "A unique ID for a specific instance of this message, typically assigned\nby the client for tracking purpose. Must be no longer than 63 characters\nand only lower case letters, digits, '.', '_' and '-' are allowed. If\nempty, the server may choose to generate one instead.",
"type": "string"
},
"logging": {
@@ -1203,6 +1735,25 @@
},
"type": "object"
},
"GoogleApiServiceIdentity": {
"description": "The per-product per-project service identity for a service.\n\n\nUse this field to configure per-product per-project service identity.\nExample of a service identity configuration.\n\n usage:\n service_identity:\n - service_account_parent: \"projects/123456789\"\n display_name: \"Cloud XXX Service Agent\"\n description: \"Used as the identity of Cloud XXX to access resources\"",
"id": "GoogleApiServiceIdentity",
"properties": {
"description": {
"description": "Optional. A user-specified opaque description of the service account.\nMust be less than or equal to 256 UTF-8 bytes.",
"type": "string"
},
"displayName": {
"description": "Optional. A user-specified name for the service account.\nMust be less than or equal to 100 UTF-8 bytes.",
"type": "string"
},
"serviceAccountParent": {
"description": "A service account project that hosts the service accounts.\n\nAn example name would be:\n`projects/123456789`",
"type": "string"
}
},
"type": "object"
},
"GoogleApiServiceusageV1OperationMetadata": {
"description": "The operation metadata returned for the batchend services operation.",
"id": "GoogleApiServiceusageV1OperationMetadata",
@@ -1295,6 +1846,44 @@
},
"type": "object"
},
"GoogleApiServiceusageV1beta1GetServiceIdentityResponse": {
"description": "Response message for getting service identity.",
"id": "GoogleApiServiceusageV1beta1GetServiceIdentityResponse",
"properties": {
"identity": {
"$ref": "GoogleApiServiceusageV1beta1ServiceIdentity",
"description": "Service identity that service producer can use to access consumer\nresources. If exists is true, it contains email and unique_id. If exists is\nfalse, it contains pre-constructed email and empty unique_id."
},
"state": {
"description": "Service identity state.",
"enum": [
"IDENTITY_STATE_UNSPECIFIED",
"ACTIVE"
],
"enumDescriptions": [
"Default service identity state. This value is used if the state is\nomitted.",
"Service identity has been created and can be used."
],
"type": "string"
}
},
"type": "object"
},
"GoogleApiServiceusageV1beta1ServiceIdentity": {
"description": "Service identity for a service. This is the identity that service producer\nshould use to access consumer resources.",
"id": "GoogleApiServiceusageV1beta1ServiceIdentity",
"properties": {
"email": {
"description": "The email address of the service account that a service producer would use\nto access consumer resources.",
"type": "string"
},
"uniqueId": {
"description": "The unique and stable id of the service account.\nhttps://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount",
"type": "string"
}
},
"type": "object"
},
"Http": {
"description": "Defines the HTTP configuration for an API service. It contains a list of\nHttpRule, each specifying the mapping of an RPC method\nto one or more HTTP REST API methods.",
"id": "Http",
@@ -1324,6 +1913,10 @@
},
"type": "array"
},
"allowHalfDuplex": {
"description": "When this flag is set to true, HTTP requests will be allowed to invoke a\nhalf-duplex streaming method.",
"type": "boolean"
},
"body": {
"description": "The name of the request field whose value is mapped to the HTTP request\nbody, or `*` for mapping all request fields not captured by the path\npattern to the HTTP body, or omitted for not having any HTTP request body.\n\nNOTE: the referred field must be present at the top-level of the request\nmessage type.",
"type": "string"
@@ -1363,6 +1956,53 @@
},
"type": "object"
},
"ImportAdminOverridesResponse": {
"description": "Response message for ImportAdminOverrides",
"id": "ImportAdminOverridesResponse",
"properties": {
"overrides": {
"description": "The overrides that were created from the imported data.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"ImportConsumerOverridesResponse": {
"description": "Response message for ImportConsumerOverrides",
"id": "ImportConsumerOverridesResponse",
"properties": {
"overrides": {
"description": "The overrides that were created from the imported data.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"JwtLocation": {
"description": "Specifies a location to extract JWT from an API request.",
"id": "JwtLocation",
"properties": {
"header": {
"description": "Specifies HTTP header name to extract JWT token.",
"type": "string"
},
"query": {
"description": "Specifies URL query parameter name to extract JWT token.",
"type": "string"
},
"valuePrefix": {
"description": "The value prefix. The value format is \"value_prefix{token}\"\nOnly applies to \"in\" header type. Must be empty for \"in\" query type.\nIf not empty, the header value has to match (case sensitive) this prefix.\nIf not matched, JWT will not be extracted. If matched, JWT will be\nextracted after the prefix is removed.\n\nFor example, for \"Authorization: Bearer {JWT}\",\nvalue_prefix=\"Bearer \" with a space at the end.",
"type": "string"
}
},
"type": "object"
},
"LabelDescriptor": {
"description": "A description of a label.",
"id": "LabelDescriptor",
@@ -1392,6 +2032,60 @@
},
"type": "object"
},
"ListAdminOverridesResponse": {
"description": "Response message for ListAdminOverrides.",
"id": "ListAdminOverridesResponse",
"properties": {
"nextPageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"type": "string"
},
"overrides": {
"description": "Admin overrides on this limit.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"ListConsumerOverridesResponse": {
"description": "Response message for ListConsumerOverrides.",
"id": "ListConsumerOverridesResponse",
"properties": {
"nextPageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"type": "string"
},
"overrides": {
"description": "Consumer overrides on this limit.",
"items": {
"$ref": "QuotaOverride"
},
"type": "array"
}
},
"type": "object"
},
"ListConsumerQuotaMetricsResponse": {
"description": "Response message for ListConsumerQuotaMetrics",
"id": "ListConsumerQuotaMetricsResponse",
"properties": {
"metrics": {
"description": "Quota settings for the consumer, organized by quota metric.",
"items": {
"$ref": "ConsumerQuotaMetric"
},
"type": "array"
},
"nextPageToken": {
"description": "Token identifying which result to start with; returned by a previous list\ncall.",
"type": "string"
}
},
"type": "object"
},
"ListOperationsResponse": {
"description": "The response message for Operations.ListOperations.",
"id": "ListOperationsResponse",
@@ -1562,6 +2256,8 @@
"description": "Optional. The launch stage of the metric definition.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1570,6 +2266,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -1598,6 +2296,13 @@
],
"type": "string"
},
"monitoredResourceTypes": {
"description": "Read-only. If present, then a time\nseries, which is identified partially by\na metric type and a MonitoredResourceDescriptor, that is associated\nwith this metric type can only be associated with one of the monitored\nresource types listed here.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "The resource name of the metric descriptor.",
"type": "string"
@@ -1607,7 +2312,7 @@
"type": "string"
},
"unit": {
"description": "The unit in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The\nsupported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10**3)\n* `M` mega (10**6)\n* `G` giga (10**9)\n* `T` tera (10**12)\n* `P` peta (10**15)\n* `E` exa (10**18)\n* `Z` zetta (10**21)\n* `Y` yotta (10**24)\n* `m` milli (10**-3)\n* `u` micro (10**-6)\n* `n` nano (10**-9)\n* `p` pico (10**-12)\n* `f` femto (10**-15)\n* `a` atto (10**-18)\n* `z` zepto (10**-21)\n* `y` yocto (10**-24)\n* `Ki` kibi (2**10)\n* `Mi` mebi (2**20)\n* `Gi` gibi (2**30)\n* `Ti` tebi (2**40)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division (as an infix operator, e.g. `1/s`).\n* `.` multiplication (as an infix operator, e.g. `GBy.d`)\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT` and is\n equivalent to `1` if it is used alone. For examples,\n `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing '{' or '}'.\n* `1` represents dimensionless value 1, such as in `1/s`.\n* `%` represents dimensionless value 1/100, and annotates values giving\n a percentage.",
"description": "The units in which the metric value is reported. It is only applicable\nif the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`\ndefines the representation of the stored metric values.\n\nDifferent systems may scale the values to be more easily displayed (so a\nvalue of `0.02KBy` _might_ be displayed as `20By`, and a value of\n`3523KBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is\n`KBy`, then the value of the metric is always in thousands of bytes, no\nmatter how it may be displayed..\n\nIf you want a custom metric to record the exact number of CPU-seconds used\nby a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is\n`s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005\nCPU-seconds, then the value is written as `12005`.\n\nAlternatively, if you want a custom metric to record data in a more\ngranular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is\n`ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),\nor use `Kis{CPU}` and write `11.723` (which is `12005/1024`).\n\nThe supported units are a subset of [The Unified Code for Units of\nMeasure](http://unitsofmeasure.org/ucum.html) standard:\n\n**Basic units (UNIT)**\n\n* `bit` bit\n* `By` byte\n* `s` second\n* `min` minute\n* `h` hour\n* `d` day\n\n**Prefixes (PREFIX)**\n\n* `k` kilo (10^3)\n* `M` mega (10^6)\n* `G` giga (10^9)\n* `T` tera (10^12)\n* `P` peta (10^15)\n* `E` exa (10^18)\n* `Z` zetta (10^21)\n* `Y` yotta (10^24)\n\n* `m` milli (10^-3)\n* `u` micro (10^-6)\n* `n` nano (10^-9)\n* `p` pico (10^-12)\n* `f` femto (10^-15)\n* `a` atto (10^-18)\n* `z` zepto (10^-21)\n* `y` yocto (10^-24)\n\n* `Ki` kibi (2^10)\n* `Mi` mebi (2^20)\n* `Gi` gibi (2^30)\n* `Ti` tebi (2^40)\n* `Pi` pebi (2^50)\n\n**Grammar**\n\nThe grammar also includes these connectors:\n\n* `/` division or ratio (as an infix operator). For examples,\n `kBy/{email}` or `MiBy/10ms` (although you should almost never\n have `/s` in a metric `unit`; rates should always be computed at\n query time from the underlying cumulative or delta value).\n* `.` multiplication or composition (as an infix operator). For\n examples, `GBy.d` or `k{watt}.h`.\n\nThe grammar for a unit is as follows:\n\n Expression = Component { \".\" Component } { \"/\" Component } ;\n\n Component = ( [ PREFIX ] UNIT | \"%\" ) [ Annotation ]\n | Annotation\n | \"1\"\n ;\n\n Annotation = \"{\" NAME \"}\" ;\n\nNotes:\n\n* `Annotation` is just a comment if it follows a `UNIT`. If the annotation\n is used alone, then the unit is equivalent to `1`. For examples,\n `{request}/s == 1/s`, `By{transmitted}/s == By/s`.\n* `NAME` is a sequence of non-blank printable ASCII characters not\n containing `{` or `}`.\n* `1` represents a unitary [dimensionless\n unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such\n as in `1/s`. It is typically used when none of the basic units are\n appropriate. For example, \"new users per day\" can be represented as\n `1/d` or `{new-users}/d` (and a metric value `5` would mean \"5 new\n users). Alternatively, \"thousands of page views per day\" would be\n represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric\n value of `5.3` would mean \"5300 page views per day\").\n* `%` represents dimensionless value of 1/100, and annotates values giving\n a percentage (so the metric values are typically in the range of 0..100,\n and a metric value `3` means \"3 percent\").\n* `10^2.%` indicates a metric contains a ratio, typically in the range\n 0..1, that will be multiplied by 100 and displayed as a percentage\n (so a metric value `0.03` means \"3 percent\").",
"type": "string"
},
"valueType": {
@@ -1645,9 +2350,11 @@
"type": "string"
},
"launchStage": {
"description": "Deprecated. Please use the MetricDescriptor.launch_stage instead.\nThe launch stage of the metric definition.",
"description": "Deprecated. Must use the MetricDescriptor.launch_stage instead.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1656,6 +2363,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -1729,6 +2438,8 @@
"description": "Optional. The launch stage of the monitored resource definition.",
"enum": [
"LAUNCH_STAGE_UNSPECIFIED",
"UNIMPLEMENTED",
"PRELAUNCH",
"EARLY_ACCESS",
"ALPHA",
"BETA",
@@ -1737,6 +2448,8 @@
],
"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\nthese features, you must sign up in advance and sign a Trusted Tester\nagreement (which includes confidentiality provisions). These features may\nbe unstable, changed in backward-incompatible ways, and are not\nguaranteed to be released.",
"Alpha is a limited availability test for releases before they are cleared\nfor widespread use. By Alpha, all significant design issues are resolved\nand we are in the process of verifying functionality. Alpha customers\nneed to apply for access, agree to applicable terms, and have their\nprojects whitelisted. Alpha releases don\u2019t have to be feature complete,\nno SLAs are provided, and there are no technical support obligations, but\nthey will be far enough along that customers can actually use them in\ntest environments or for limited-use tests -- just like they would in\nnormal production cases.",
"Beta is the point at which we are ready to open a release for any\ncustomer to use. There are no SLA or technical support obligations in a\nBeta release. Products will be complete from a feature perspective, but\nmay have some open outstanding issues. Beta releases are suitable for\nlimited production use cases.",
@@ -1917,6 +2630,42 @@
},
"type": "object"
},
"QuotaBucket": {
"description": "A quota bucket is a quota provisioning unit for a specific set of dimensions.",
"id": "QuotaBucket",
"properties": {
"adminOverride": {
"$ref": "QuotaOverride",
"description": "Admin override on this quota bucket."
},
"consumerOverride": {
"$ref": "QuotaOverride",
"description": "Consumer override on this quota bucket."
},
"defaultLimit": {
"description": "The default limit of this quota bucket, as specified by the service\nconfiguration.",
"format": "int64",
"type": "string"
},
"dimensions": {
"additionalProperties": {
"type": "string"
},
"description": "The dimensions of this quota bucket.\n\nIf this map is empty, this is the global bucket, which is the default quota\nvalue applied to all requests that do not have a more specific override.\n\nIf this map is nonempty, the default limit, effective limit, and quota\noverrides apply only to requests that have the dimensions given in the map.\n\nFor example, if the map has key \"region\" and value \"us-east-1\", then the\nspecified effective limit is only effective in that region, and the\nspecified overrides apply only in that region.",
"type": "object"
},
"effectiveLimit": {
"description": "The effective limit of this quota bucket. Equal to default_limit if there\nare no overrides.",
"format": "int64",
"type": "string"
},
"producerOverride": {
"$ref": "QuotaOverride",
"description": "Producer override on this quota bucket."
}
},
"type": "object"
},
"QuotaLimit": {
"description": "`QuotaLimit` defines a specific limit that applies over a specified duration\nfor a limit type. There can be at most one limit for a duration and limit\ntype combination defined within a `QuotaGroup`.",
"id": "QuotaLimit",
@@ -1935,7 +2684,7 @@
"type": "string"
},
"duration": {
"description": "Duration of this limit in textual notation. Example: \"100s\", \"24h\", \"1d\".\nFor duration longer than a day, only multiple of days is supported. We\nsupport only \"100s\" and \"1d\" for now. Additional support will be added in\nthe future. \"0\" indicates indefinite duration.\n\nUsed by group-based quotas only.",
"description": "Duration of this limit in textual notation. Must be \"100s\" or \"1d\".\n\nUsed by group-based quotas only.",
"type": "string"
},
"freeTier": {
@@ -1979,9 +2728,13 @@
"additionalProperties": {
"type": "string"
},
"description": "If this map is nonempty, then this override applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an override on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe override is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n- Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n- \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n- \"user\" is not a valid key; the API does not support quota overrides\n that apply only to a specific user.\n- If \"region\" appears as a key, its value must be a valid Cloud region.\n- If \"zone\" appears as a key, its value must be a valid Cloud zone.\n- If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the map.",
"description": "If this map is nonempty, then this override applies only to specific values\nfor dimensions defined in the limit unit.\n\nFor example, an override on a limit with the unit 1/{project}/{region}\ncould contain an entry with the key \"region\" and the value \"us-east-1\";\nthe override is only applied to quota consumed in that region.\n\nThis map has the following restrictions:\n\n* Keys that are not defined in the limit's unit are not valid keys.\n Any string appearing in {brackets} in the unit (besides {project} or\n {user}) is a defined key.\n* \"project\" is not a valid key; the project is already specified in\n the parent resource name.\n* \"user\" is not a valid key; the API does not support quota overrides\n that apply only to a specific user.\n* If \"region\" appears as a key, its value must be a valid Cloud region.\n* If \"zone\" appears as a key, its value must be a valid Cloud zone.\n* If any valid key other than \"region\" or \"zone\" appears in the map, then\n all valid keys other than \"region\" or \"zone\" must also appear in the\n map.",
"type": "object"
},
"metric": {
"description": "The name of the metric to which this override applies.\n\nAn example name would be:\n`compute.googleapis.com/cpus`",
"type": "string"
},
"name": {
"description": "The resource name of the override.\nThis name is generated by the server when the override is created.\n\nExample names would be:\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d`\n`projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d`\n\nThe resource name is intended to be opaque and should not be parsed for\nits component strings, since its representation could change in the future.",
"type": "string"
@@ -1990,6 +2743,10 @@
"description": "The overriding quota limit value.\nCan be any nonnegative integer, or -1 (unlimited quota).",
"format": "int64",
"type": "string"
},
"unit": {
"description": "The limit unit of the limit to which this override applies.\n\nAn example unit would be:\n`1/{project}/{region}`\nNote that `{project}` and `{region}` are not placeholders in this example;\nthe literal characters `{` and `}` occur in the string.",
"type": "string"
}
},
"type": "object"
@@ -2072,6 +2829,21 @@
},
"type": "object"
},
"ServiceIdentity": {
"description": "Service identity for a service. This is the identity that service producer\nshould use to access consumer resources.",
"id": "ServiceIdentity",
"properties": {
"email": {
"description": "The email address of the service account that a service producer would use\nto access consumer resources.",
"type": "string"
},
"uniqueId": {
"description": "The unique and stable id of the service account.\nhttps://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount",
"type": "string"
}
},
"type": "object"
},
"SourceContext": {
"description": "`SourceContext` represents information about the source of a\nprotobuf element, like the file in which it is defined.",
"id": "SourceContext",
@@ -2248,6 +3020,10 @@
"$ref": "UsageRule"
},
"type": "array"
},
"serviceIdentity": {
"$ref": "GoogleApiServiceIdentity",
"description": "The configuration of a per-product per-project service identity."
}
},
"type": "object"