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"