Index: discovery/googleapis/servicecontrol__v1.json |
diff --git a/discovery/googleapis/servicecontrol__v1.json b/discovery/googleapis/servicecontrol__v1.json |
index dad44889abe024a9d4ccfce2e62106dacb57ed62..dbc291b49df779ea3b821b9d56a65b8f2c7a11a4 100644 |
--- a/discovery/googleapis/servicecontrol__v1.json |
+++ b/discovery/googleapis/servicecontrol__v1.json |
@@ -49,6 +49,11 @@ |
"location": "query", |
"type": "string" |
}, |
+ "callback": { |
+ "description": "JSONP", |
+ "location": "query", |
+ "type": "string" |
+ }, |
"$.xgafv": { |
"description": "V1 error format.", |
"enum": [ |
@@ -62,11 +67,6 @@ |
"location": "query", |
"type": "string" |
}, |
- "callback": { |
- "description": "JSONP", |
- "location": "query", |
- "type": "string" |
- }, |
"alt": { |
"default": "json", |
"description": "Data format for response.", |
@@ -104,13 +104,13 @@ |
"location": "query", |
"type": "boolean" |
}, |
- "oauth_token": { |
- "description": "OAuth 2.0 token for the current user.", |
+ "bearer_token": { |
+ "description": "OAuth bearer token.", |
"location": "query", |
"type": "string" |
}, |
- "bearer_token": { |
- "description": "OAuth bearer token.", |
+ "oauth_token": { |
+ "description": "OAuth 2.0 token for the current user.", |
"location": "query", |
"type": "string" |
} |
@@ -174,7 +174,7 @@ |
] |
}, |
"releaseQuota": { |
- "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
+ "description": "Releases previously allocated quota done through AllocateQuota method.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", |
"httpMethod": "POST", |
"id": "servicecontrol.services.releaseQuota", |
"parameterOrder": [ |
@@ -255,7 +255,7 @@ |
] |
}, |
"allocateQuota": { |
- "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
+ "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** the client code **must** fail-open if the server returns one\nof the following quota errors:\n- `PROJECT_STATUS_UNAVAILABLE`\n- `SERVICE_STATUS_UNAVAILABLE`\n- `BILLING_STATUS_UNAVAILABLE`\n- `QUOTA_SYSTEM_UNAVAILABLE`\n\nThe server may inject above errors to prohibit any hard dependency\non the quota system.", |
"httpMethod": "POST", |
"id": "servicecontrol.services.allocateQuota", |
"parameterOrder": [ |
@@ -284,329 +284,294 @@ |
} |
} |
}, |
- "revision": "20170224", |
+ "revision": "20170319", |
"rootUrl": "https://servicecontrol.googleapis.com/", |
"schemas": { |
- "ExponentialBuckets": { |
- "description": "Describing buckets with exponentially growing width.", |
- "id": "ExponentialBuckets", |
+ "CheckResponse": { |
+ "description": "Response message for the Check method.", |
+ "id": "CheckResponse", |
"properties": { |
- "scale": { |
- "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be > 0.", |
- "format": "double", |
- "type": "number" |
+ "operationId": { |
+ "description": "The same operation_id value used in the CheckRequest.\nUsed for logging and diagnostics purposes.", |
+ "type": "string" |
}, |
- "numFiniteBuckets": { |
- "description": "The number of finite buckets. With the underflow and overflow buckets,\nthe total number of buckets is `num_finite_buckets` + 2.\nSee comments on `bucket_options` for details.", |
- "format": "int32", |
- "type": "integer" |
+ "checkErrors": { |
+ "description": "Indicate the decision of the check.\n\nIf no check errors are present, the service should process the operation.\nOtherwise the service should use the list of errors to determine the\nappropriate action.", |
+ "items": { |
+ "$ref": "CheckError" |
+ }, |
+ "type": "array" |
}, |
- "growthFactor": { |
- "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be larger than 1.0.", |
- "format": "double", |
- "type": "number" |
- } |
- }, |
- "type": "object" |
- }, |
- "AuthorizationInfo": { |
- "description": "Authorization information for the operation.", |
- "id": "AuthorizationInfo", |
- "properties": { |
- "granted": { |
- "description": "Whether or not authorization for `resource` and `permission`\nwas granted.", |
- "type": "boolean" |
+ "checkInfo": { |
+ "$ref": "CheckInfo", |
+ "description": "Feedback data returned from the server during processing a Check request." |
}, |
- "permission": { |
- "description": "The required IAM permission.", |
- "type": "string" |
+ "quotaInfo": { |
+ "$ref": "QuotaInfo", |
+ "description": "Quota information for the check request associated with this response.\n" |
}, |
- "resource": { |
- "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID", |
+ "serviceConfigId": { |
+ "description": "The actual config id used to process the request.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "StartReconciliationResponse": { |
- "id": "StartReconciliationResponse", |
+ "Status": { |
+ "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` which can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting purpose.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", |
+ "id": "Status", |
"properties": { |
- "quotaMetrics": { |
- "description": "Metric values as tracked by One Platform before the start of\nreconciliation.", |
+ "details": { |
+ "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", |
"items": { |
- "$ref": "MetricValueSet" |
+ "additionalProperties": { |
+ "description": "Properties of the object. Contains field @type with type URL.", |
+ "type": "any" |
+ }, |
+ "type": "object" |
}, |
"type": "array" |
}, |
- "operationId": { |
- "description": "The same operation_id value used in the StartReconciliationRequest. Used\nfor logging and diagnostics purposes.", |
- "type": "string" |
+ "code": { |
+ "description": "The status code, which should be an enum value of google.rpc.Code.", |
+ "format": "int32", |
+ "type": "integer" |
}, |
- "reconciliationErrors": { |
- "description": "Indicates the decision of the reconciliation start.", |
+ "message": { |
+ "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", |
+ "type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "ReportRequest": { |
+ "description": "Request message for the Report method.", |
+ "id": "ReportRequest", |
+ "properties": { |
+ "operations": { |
+ "description": "Operations to be reported.\n\nTypically the service should report one operation per request.\nPutting multiple operations into a single request is allowed, but should\nbe used only when multiple operations are natually available at the time\nof the report.\n\nIf multiple operations are in a single request, the total request size\nshould be no larger than 1MB. See ReportResponse.report_errors for\npartial failure behavior.", |
"items": { |
- "$ref": "QuotaError" |
+ "$ref": "Operation" |
}, |
"type": "array" |
}, |
"serviceConfigId": { |
- "description": "ID of the actual config used to process the request.", |
+ "description": "Specifies which version of service config should be used to process the\nrequest.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "QuotaProperties": { |
- "description": "Represents the properties needed for quota operations.\n\nUse the metric_value_sets field in Operation message to provide cost\noverride with metric_name in <service_name>/quota/<quota_group_name>/cost\nformat. Overrides for unmatched quota groups will be ignored.\nCosts are expected to be >= 0. Cost 0 will cause no quota check,\nbut still traffic restrictions will be enforced.", |
- "id": "QuotaProperties", |
+ "AuditLog": { |
+ "description": "Common audit log format for Google Cloud Platform API operations.\n\n", |
+ "id": "AuditLog", |
"properties": { |
- "limitByIds": { |
+ "request": { |
"additionalProperties": { |
- "type": "string" |
+ "description": "Properties of the object.", |
+ "type": "any" |
}, |
- "description": "LimitType IDs that should be used for checking quota. Key in this map\nshould be a valid LimitType string, and the value is the ID to be used. For\nexample, an entry <USER, 123> will cause all user quota limits to use 123\nas the user ID. See google/api/quota.proto for the definition of LimitType.\nCLIENT_PROJECT: Not supported.\nUSER: Value of this entry will be used for enforcing user-level quota\n limits. If none specified, caller IP passed in the\n servicecontrol.googleapis.com/caller_ip label will be used instead.\n If the server cannot resolve a value for this LimitType, an error\n will be thrown. No validation will be performed on this ID.\nDeprecated: use servicecontrol.googleapis.com/user label to send user ID.", |
+ "description": "The operation request. This may not include all request parameters,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", |
"type": "object" |
}, |
- "quotaMode": { |
- "description": "Quota mode for this operation.", |
- "enum": [ |
- "ACQUIRE", |
- "ACQUIRE_BEST_EFFORT", |
- "CHECK", |
- "RELEASE" |
- ], |
- "enumDescriptions": [ |
- "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation fails and returns\nerror.", |
- "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation does not fail and\navailable quota goes down to zero but it returns error.", |
- "Does not change any available quota. Only checks if there is enough\nquota.\nNo lock is placed on the checked tokens neither.", |
- "Increases available quota by the operation cost specified for the\noperation." |
- ], |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "LinearBuckets": { |
- "description": "Describing buckets with constant width.", |
- "id": "LinearBuckets", |
- "properties": { |
- "numFiniteBuckets": { |
- "description": "The number of finite buckets. With the underflow and overflow buckets,\nthe total number of buckets is `num_finite_buckets` + 2.\nSee comments on `bucket_options` for details.", |
- "format": "int32", |
- "type": "integer" |
+ "serviceData": { |
+ "additionalProperties": { |
+ "description": "Properties of the object. Contains field @type with type URL.", |
+ "type": "any" |
+ }, |
+ "description": "Other service-specific data about the request, response, and other\nactivities.", |
+ "type": "object" |
}, |
- "width": { |
- "description": "The i'th linear bucket covers the interval\n [offset + (i-1) * width, offset + i * width)\nwhere i ranges from 1 to num_finite_buckets, inclusive.\nMust be strictly positive.", |
- "format": "double", |
- "type": "number" |
+ "requestMetadata": { |
+ "$ref": "RequestMetadata", |
+ "description": "Metadata about the operation." |
}, |
- "offset": { |
- "description": "The i'th linear bucket covers the interval\n [offset + (i-1) * width, offset + i * width)\nwhere i ranges from 1 to num_finite_buckets, inclusive.", |
- "format": "double", |
- "type": "number" |
- } |
- }, |
- "type": "object" |
- }, |
- "AuthenticationInfo": { |
- "description": "Authentication information for the operation.", |
- "id": "AuthenticationInfo", |
- "properties": { |
- "authoritySelector": { |
- "description": "The authority selector specified by the requestor, if any.\nIt is not guaranteed that the principal was allowed to use this authority.", |
+ "numResponseItems": { |
+ "description": "The number of items returned from a List or Query API method,\nif applicable.", |
+ "format": "int64", |
"type": "string" |
}, |
- "principalEmail": { |
- "description": "The email address of the authenticated user making the request.", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "AllocateQuotaResponse": { |
- "description": "Response message for the AllocateQuota method.", |
- "id": "AllocateQuotaResponse", |
- "properties": { |
- "allocateErrors": { |
- "description": "Indicates the decision of the allocate.", |
- "items": { |
- "$ref": "QuotaError" |
- }, |
- "type": "array" |
+ "authenticationInfo": { |
+ "$ref": "AuthenticationInfo", |
+ "description": "Authentication information." |
}, |
- "quotaMetrics": { |
- "description": "Quota metrics to indicate the result of allocation. Depending on the\nrequest, one or more of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric incremental usage\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_used_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n3. For both rate quota and allocation quota, the quota limit reached\ncondition will be specified using the following boolean metric:\n \"serviceruntime.googleapis.com/quota/exceeded\"", |
- "items": { |
- "$ref": "MetricValueSet" |
+ "status": { |
+ "$ref": "Status", |
+ "description": "The status of the overall operation." |
+ }, |
+ "response": { |
+ "additionalProperties": { |
+ "description": "Properties of the object.", |
+ "type": "any" |
}, |
- "type": "array" |
+ "description": "The operation response. This may not include all response elements,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", |
+ "type": "object" |
}, |
- "operationId": { |
- "description": "The same operation_id value used in the AllocateQuotaRequest. Used for\nlogging and diagnostics purposes.", |
+ "serviceName": { |
+ "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.", |
"type": "string" |
}, |
- "serviceConfigId": { |
- "description": "ID of the actual config used to process the request.", |
+ "methodName": { |
+ "description": "The name of the service method or operation.\nFor API calls, this should be the name of the API method.\nFor example,\n\n \"google.datastore.v1.Datastore.RunQuery\"\n \"google.logging.v1.LoggingService.DeleteLog\"", |
"type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "ReleaseQuotaRequest": { |
- "description": "Request message for the ReleaseQuota method.", |
- "id": "ReleaseQuotaRequest", |
- "properties": { |
- "serviceConfigId": { |
- "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
+ }, |
+ "resourceName": { |
+ "description": "The resource or collection that is the target of the operation.\nThe name is a scheme-less URI, not including the API service name.\nFor example:\n\n \"shelves/SHELF_ID/books\"\n \"shelves/SHELF_ID/books/BOOK_ID\"", |
"type": "string" |
}, |
- "releaseOperation": { |
- "$ref": "QuotaOperation", |
- "description": "Operation that describes the quota release." |
+ "authorizationInfo": { |
+ "description": "Authorization information. If there are multiple\nresources or permissions involved, then there is\none AuthorizationInfo element for each {resource, permission} tuple.", |
+ "items": { |
+ "$ref": "AuthorizationInfo" |
+ }, |
+ "type": "array" |
} |
}, |
"type": "object" |
}, |
- "QuotaError": { |
- "id": "QuotaError", |
+ "LogEntry": { |
+ "description": "An individual log entry.", |
+ "id": "LogEntry", |
"properties": { |
- "subject": { |
- "description": "Subject to whom this error applies. See the specific enum for more details\non this field. For example, \"clientip:<ip address of client>\" or\n\"project:<Google developer project id>\".", |
- "type": "string" |
- }, |
- "description": { |
- "description": "Free-form text that provides details on the cause of the error.", |
- "type": "string" |
- }, |
- "code": { |
- "description": "Error code.", |
+ "structPayload": { |
+ "additionalProperties": { |
+ "description": "Properties of the object.", |
+ "type": "any" |
+ }, |
+ "description": "The log entry payload, represented as a structure that\nis expressed as a JSON object.", |
+ "type": "object" |
+ }, |
+ "textPayload": { |
+ "description": "The log entry payload, represented as a Unicode string (UTF-8).", |
+ "type": "string" |
+ }, |
+ "protoPayload": { |
+ "additionalProperties": { |
+ "description": "Properties of the object. Contains field @type with type URL.", |
+ "type": "any" |
+ }, |
+ "description": "The log entry payload, represented as a protocol buffer that is\nexpressed as a JSON object. You can only pass `protoPayload`\nvalues that belong to a set of approved types.", |
+ "type": "object" |
+ }, |
+ "timestamp": { |
+ "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", |
+ "format": "google-datetime", |
+ "type": "string" |
+ }, |
+ "labels": { |
+ "additionalProperties": { |
+ "type": "string" |
+ }, |
+ "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", |
+ "type": "object" |
+ }, |
+ "severity": { |
+ "description": "The severity of the log entry. The default value is\n`LogSeverity.DEFAULT`.", |
"enum": [ |
- "UNSPECIFIED", |
- "RESOURCE_EXHAUSTED", |
- "PROJECT_SUSPENDED", |
- "SERVICE_NOT_ENABLED", |
- "BILLING_NOT_ACTIVE", |
- "PROJECT_DELETED", |
- "PROJECT_INVALID", |
- "IP_ADDRESS_BLOCKED", |
- "REFERER_BLOCKED", |
- "CLIENT_APP_BLOCKED", |
- "API_KEY_INVALID", |
- "API_KEY_EXPIRED", |
- "SPATULA_HEADER_INVALID", |
- "LOAS_ROLE_INVALID", |
- "NO_LOAS_PROJECT", |
- "PROJECT_STATUS_UNVAILABLE", |
- "SERVICE_STATUS_UNAVAILABLE", |
- "BILLING_STATUS_UNAVAILABLE", |
- "QUOTA_SYSTEM_UNAVAILABLE" |
+ "DEFAULT", |
+ "DEBUG", |
+ "INFO", |
+ "NOTICE", |
+ "WARNING", |
+ "ERROR", |
+ "CRITICAL", |
+ "ALERT", |
+ "EMERGENCY" |
], |
"enumDescriptions": [ |
- "This is never used.", |
- "Quota allocation failed.\nSame as google.rpc.Code.RESOURCE_EXHAUSTED.", |
- "Consumer project has been suspended.", |
- "Consumer has not enabled the service.", |
- "Consumer cannot access the service because billing is disabled.", |
- "Consumer's project has been marked as deleted (soft deletion).", |
- "Consumer's project number or ID does not represent a valid project.", |
- "IP address of the consumer is invalid for the specific consumer\nproject.", |
- "Referer address of the consumer request is invalid for the specific\nconsumer project.", |
- "Client application of the consumer request is invalid for the\nspecific consumer project.", |
- "Specified API key is invalid.", |
- "Specified API Key has expired.", |
- "Consumer's spatula header is invalid.", |
- "The consumer's LOAS role is invalid.", |
- "The consumer's LOAS role has no associated project.", |
- "The backend server for looking up project id/number is unavailable.", |
- "The backend server for checking service status is unavailable.", |
- "The backend server for checking billing status is unavailable.", |
- "The backend server for checking quota limits is unavailable." |
+ "(0) The log entry has no assigned severity level.", |
+ "(100) Debug or trace information.", |
+ "(200) Routine information, such as ongoing status or performance.", |
+ "(300) Normal but significant events, such as start up, shut down, or\na configuration change.", |
+ "(400) Warning events might cause problems.", |
+ "(500) Error events are likely to cause problems.", |
+ "(600) Critical events cause more severe problems or outages.", |
+ "(700) A person must take an action immediately.", |
+ "(800) One or more systems are unusable." |
], |
"type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "RequestMetadata": { |
- "description": "Metadata about the request.", |
- "id": "RequestMetadata", |
- "properties": { |
- "callerIp": { |
- "description": "The IP address of the caller.", |
+ }, |
+ "name": { |
+ "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`,\n`\"book_log\"`.", |
"type": "string" |
}, |
- "callerSuppliedUserAgent": { |
- "description": "The user agent of the caller.\nThis information is not authenticated and should be treated accordingly.\nFor example:\n\n+ `google-api-python-client/1.4.0`:\n The request was made by the Google API client for Python.\n+ `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:\n The request was made by the Google Cloud SDK CLI (gcloud).\n+ `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:\n The request was made from the `my-project` App Engine app.", |
+ "insertId": { |
+ "description": "A unique ID for the log entry used for deduplication. If omitted,\nthe implementation will generate one based on operation_id.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "CheckInfo": { |
- "id": "CheckInfo", |
+ "MetricValue": { |
+ "description": "Represents a single metric value.", |
+ "id": "MetricValue", |
"properties": { |
- "unusedArguments": { |
- "description": "A list of fields and label keys that are ignored by the server.\nThe client doesn't need to send them for following requests to improve\nperformance and allow better aggregation.", |
- "items": { |
+ "distributionValue": { |
+ "$ref": "Distribution", |
+ "description": "A distribution value." |
+ }, |
+ "boolValue": { |
+ "description": "A boolean value.", |
+ "type": "boolean" |
+ }, |
+ "endTime": { |
+ "description": "The end of the time period over which this metric value's measurement\napplies.", |
+ "format": "google-datetime", |
+ "type": "string" |
+ }, |
+ "startTime": { |
+ "description": "The start of the time period over which this metric value's measurement\napplies. The time period has different semantics for different metric\ntypes (cumulative, delta, and gauge). See the metric definition\ndocumentation in the service configuration for details.", |
+ "format": "google-datetime", |
+ "type": "string" |
+ }, |
+ "moneyValue": { |
+ "$ref": "Money", |
+ "description": "A money value." |
+ }, |
+ "stringValue": { |
+ "description": "A text string value.", |
+ "type": "string" |
+ }, |
+ "labels": { |
+ "additionalProperties": { |
"type": "string" |
}, |
- "type": "array" |
- } |
- }, |
- "type": "object" |
- }, |
- "AllocateQuotaRequest": { |
- "description": "Request message for the AllocateQuota method.", |
- "id": "AllocateQuotaRequest", |
- "properties": { |
- "serviceConfigId": { |
- "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
- "type": "string" |
+ "description": "The labels describing the metric value.\nSee comments on google.api.servicecontrol.v1.Operation.labels for\nthe overriding relationship.", |
+ "type": "object" |
}, |
- "allocateOperation": { |
- "$ref": "QuotaOperation", |
- "description": "Operation that describes the quota allocation." |
+ "doubleValue": { |
+ "description": "A double precision floating point value.", |
+ "format": "double", |
+ "type": "number" |
}, |
- "allocationMode": { |
- "description": "Allocation mode for this operation.\nDeprecated: use QuotaMode inside the QuotaOperation.", |
- "enum": [ |
- "UNSPECIFIED", |
- "NORMAL", |
- "BEST_EFFORT", |
- "CHECK_ONLY" |
- ], |
- "enumDescriptions": [ |
- "", |
- "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, allocation error will be returned and no quota will be\nallocated.", |
- "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, request does not fail but all available quota will be\nallocated.", |
- "Only checks if there is enough quota available and does not change the\navailable quota. No lock is placed on the available quota either." |
- ], |
+ "int64Value": { |
+ "description": "A signed 64-bit integer value.", |
+ "format": "int64", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "ReleaseQuotaResponse": { |
- "description": "Response message for the ReleaseQuota method.", |
- "id": "ReleaseQuotaResponse", |
+ "EndReconciliationResponse": { |
+ "id": "EndReconciliationResponse", |
"properties": { |
"operationId": { |
- "description": "The same operation_id value used in the ReleaseQuotaRequest. Used for\nlogging and diagnostics purposes.", |
- "type": "string" |
- }, |
- "serviceConfigId": { |
- "description": "ID of the actual config used to process the request.", |
+ "description": "The same operation_id value used in the EndReconciliationRequest. Used for\nlogging and diagnostics purposes.", |
"type": "string" |
}, |
- "releaseErrors": { |
- "description": "Indicates the decision of the release.", |
+ "reconciliationErrors": { |
+ "description": "Indicates the decision of the reconciliation end.", |
"items": { |
"$ref": "QuotaError" |
}, |
"type": "array" |
}, |
+ "serviceConfigId": { |
+ "description": "ID of the actual config used to process the request.", |
+ "type": "string" |
+ }, |
"quotaMetrics": { |
- "description": "Quota metrics to indicate the result of release. Depending on the\nrequest, one or more of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric released amount\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_refund_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"", |
+ "description": "Metric values as tracked by One Platform before the adjustment was made.\nThe following metrics will be included:\n\n1. Per quota metric total usage will be specified using the following gauge\nmetric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n2. Value for each quota limit associated with the metrics will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/quota/limit\"\n\n3. Delta value of the usage after the reconciliation for limits associated\nwith the metrics will be specified using the following metric:\n \"serviceruntime.googleapis.com/allocation/reconciliation_delta\"\nThe delta value is defined as:\n new_usage_from_client - existing_value_in_spanner.\nThis metric is not defined in serviceruntime.yaml or in Cloud Monarch.\nThis metric is meant for callers' use only. Since this metric is not\ndefined in the monitoring backend, reporting on this metric will result in\nan error.", |
"items": { |
"$ref": "MetricValueSet" |
}, |
@@ -615,746 +580,781 @@ |
}, |
"type": "object" |
}, |
- "MetricValueSet": { |
- "description": "Represents a set of metric values in the same metric.\nEach metric value in the set should have a unique combination of start time,\nend time, and label values.", |
- "id": "MetricValueSet", |
+ "Money": { |
+ "description": "Represents an amount of money with its currency type.", |
+ "id": "Money", |
"properties": { |
- "metricName": { |
- "description": "The metric name defined in the service configuration.", |
- "type": "string" |
+ "nanos": { |
+ "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", |
+ "format": "int32", |
+ "type": "integer" |
}, |
- "metricValues": { |
- "description": "The values in this metric.", |
- "items": { |
- "$ref": "MetricValue" |
- }, |
- "type": "array" |
- } |
- }, |
- "type": "object" |
- }, |
- "ReportError": { |
- "description": "Represents the processing error of one `Operation` in the request.", |
- "id": "ReportError", |
- "properties": { |
- "status": { |
- "$ref": "Status", |
- "description": "Details of the error when processing the `Operation`." |
+ "units": { |
+ "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", |
+ "format": "int64", |
+ "type": "string" |
}, |
- "operationId": { |
- "description": "The Operation.operation_id value from the request.", |
+ "currencyCode": { |
+ "description": "The 3-letter currency code defined in ISO 4217.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "StartReconciliationRequest": { |
- "id": "StartReconciliationRequest", |
+ "Distribution": { |
+ "description": "Distribution represents a frequency distribution of double-valued sample\npoints. It contains the size of the population of sample points plus\nadditional optional information:\n\n - the arithmetic mean of the samples\n - the minimum and maximum of the samples\n - the sum-squared-deviation of the samples, used to compute variance\n - a histogram of the values of the sample points", |
+ "id": "Distribution", |
"properties": { |
- "reconciliationOperation": { |
- "$ref": "QuotaOperation", |
- "description": "Operation that describes the quota reconciliation." |
- }, |
- "serviceConfigId": { |
- "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "CheckError": { |
- "description": "Defines the errors to be returned in\ngoogle.api.servicecontrol.v1.CheckResponse.check_errors.", |
- "id": "CheckError", |
- "properties": { |
- "code": { |
- "description": "The error code.", |
- "enum": [ |
- "ERROR_CODE_UNSPECIFIED", |
- "NOT_FOUND", |
- "PERMISSION_DENIED", |
- "RESOURCE_EXHAUSTED", |
- "BUDGET_EXCEEDED", |
- "DENIAL_OF_SERVICE_DETECTED", |
- "LOAD_SHEDDING", |
- "ABUSER_DETECTED", |
- "SERVICE_NOT_ACTIVATED", |
- "VISIBILITY_DENIED", |
- "BILLING_DISABLED", |
- "PROJECT_DELETED", |
- "PROJECT_INVALID", |
- "IP_ADDRESS_BLOCKED", |
- "REFERER_BLOCKED", |
- "CLIENT_APP_BLOCKED", |
- "API_TARGET_BLOCKED", |
- "API_KEY_INVALID", |
- "API_KEY_EXPIRED", |
- "API_KEY_NOT_FOUND", |
- "SPATULA_HEADER_INVALID", |
- "LOAS_ROLE_INVALID", |
- "NO_LOAS_PROJECT", |
- "LOAS_PROJECT_DISABLED", |
- "SECURITY_POLICY_VIOLATED", |
- "NAMESPACE_LOOKUP_UNAVAILABLE", |
- "SERVICE_STATUS_UNAVAILABLE", |
- "BILLING_STATUS_UNAVAILABLE", |
- "QUOTA_CHECK_UNAVAILABLE", |
- "LOAS_PROJECT_LOOKUP_UNAVAILABLE", |
- "CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE", |
- "SECURITY_POLICY_BACKEND_UNAVAILABLE" |
- ], |
- "enumDescriptions": [ |
- "This is never used in `CheckResponse`.", |
- "The consumer's project id was not found.\nSame as google.rpc.Code.NOT_FOUND.", |
- "The consumer doesn't have access to the specified resource.\nSame as google.rpc.Code.PERMISSION_DENIED.", |
- "Quota check failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", |
- "Budget check failed.", |
- "The consumer's request has been flagged as a DoS attack.", |
- "The consumer's request should be rejected in order to protect the service\nfrom being overloaded.", |
- "The consumer has been flagged as an abuser.", |
- "The consumer hasn't activated the service.", |
- "The consumer cannot access the service due to visibility configuration.", |
- "The consumer cannot access the service because billing is disabled.", |
- "The consumer's project has been marked as deleted (soft deletion).", |
- "The consumer's project number or id does not represent a valid project.", |
- "The IP address of the consumer is invalid for the specific consumer\nproject.", |
- "The referer address of the consumer request is invalid for the specific\nconsumer project.", |
- "The client application of the consumer request is invalid for the\nspecific consumer project.", |
- "The API targeted by this request is invalid for the specified consumer\nproject.", |
- "The consumer's API key is invalid.", |
- "The consumer's API Key has expired.", |
- "The consumer's API Key was not found in config record.", |
- "The consumer's spatula header is invalid.", |
- "The consumer's LOAS role is invalid.", |
- "The consumer's LOAS role has no associated project.", |
- "The consumer's LOAS project is not `ACTIVE` in LoquatV2.", |
- "Request is not allowed as per security policies defined in Org Policy.", |
- "The backend server for looking up project id/number is unavailable.", |
- "The backend server for checking service status is unavailable.", |
- "The backend server for checking billing status is unavailable.", |
- "The backend server for checking quota limits is unavailable.", |
- "The Spanner for looking up LOAS project is unavailable.", |
- "Cloud Resource Manager backend server is unavailable.", |
- "Backend server for evaluating security policy is unavailable." |
- ], |
+ "count": { |
+ "description": "The total number of samples in the distribution. Must be >= 0.", |
+ "format": "int64", |
"type": "string" |
}, |
- "detail": { |
- "description": "Free-form text providing details on the error cause of the error.", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "QuotaInfo": { |
- "description": "Contains the quota information for a quota check response.", |
- "id": "QuotaInfo", |
- "properties": { |
- "limitExceeded": { |
- "description": "Quota Metrics that have exceeded quota limits.\nFor QuotaGroup-based quota, this is QuotaGroup.name\nFor QuotaLimit-based quota, this is QuotaLimit.name\nSee: google.api.Quota\nDeprecated: Use quota_metrics to get per quota group limit exceeded status.", |
+ "mean": { |
+ "description": "The arithmetic mean of the samples in the distribution. If `count` is\nzero then this field must be zero.", |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "bucketCounts": { |
+ "description": "The number of samples in each histogram bucket. `bucket_counts` are\noptional. If present, they must sum to the `count` value.\n\nThe buckets are defined below in `bucket_option`. There are N buckets.\n`bucket_counts[0]` is the number of samples in the underflow bucket.\n`bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples\nin each of the finite buckets. And `bucket_counts[N] is the number\nof samples in the overflow bucket. See the comments of `bucket_option`\nbelow for more details.\n\nAny suffix of trailing zeros may be omitted.", |
"items": { |
+ "format": "int64", |
"type": "string" |
}, |
"type": "array" |
}, |
- "quotaConsumed": { |
- "additionalProperties": { |
- "format": "int32", |
- "type": "integer" |
- }, |
- "description": "Map of quota group name to the actual number of tokens consumed. If the\nquota check was not successful, then this will not be populated due to no\nquota consumption.\nDeprecated: Use quota_metrics to get per quota group usage.", |
- "type": "object" |
+ "explicitBuckets": { |
+ "$ref": "ExplicitBuckets", |
+ "description": "Buckets with arbitrary user-provided width." |
}, |
- "quotaMetrics": { |
- "description": "Quota metrics to indicate the usage. Depending on the check request, one or\nmore of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric incremental usage\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_used_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n3. For both rate quota and allocation quota, the quota limit reached\ncondition will be specified using the following boolean metric:\n \"serviceruntime.googleapis.com/quota/exceeded\"", |
+ "maximum": { |
+ "description": "The maximum of the population of values. Ignored if `count` is zero.", |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "sumOfSquaredDeviation": { |
+ "description": "The sum of squared deviations from the mean:\n Sum[i=1..count]((x_i - mean)^2)\nwhere each x_i is a sample values. If `count` is zero then this field\nmust be zero, otherwise validation of the request fails.", |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "exponentialBuckets": { |
+ "$ref": "ExponentialBuckets", |
+ "description": "Buckets with exponentially growing width." |
+ }, |
+ "minimum": { |
+ "description": "The minimum of the population of values. Ignored if `count` is zero.", |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "linearBuckets": { |
+ "$ref": "LinearBuckets", |
+ "description": "Buckets with constant width." |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "ExplicitBuckets": { |
+ "description": "Describing buckets with arbitrary user-provided width.", |
+ "id": "ExplicitBuckets", |
+ "properties": { |
+ "bounds": { |
+ "description": "'bound' is a list of strictly increasing boundaries between\nbuckets. Note that a list of length N-1 defines N buckets because\nof fenceposting. See comments on `bucket_options` for details.\n\nThe i'th finite bucket covers the interval\n [bound[i-1], bound[i])\nwhere i ranges from 1 to bound_size() - 1. Note that there are no\nfinite buckets at all if 'bound' only contains a single element; in\nthat special case the single bound defines the boundary between the\nunderflow and overflow buckets.\n\nbucket number lower bound upper bound\n i == 0 (underflow) -inf bound[i]\n 0 < i < bound_size() bound[i-1] bound[i]\n i == bound_size() (overflow) bound[i-1] +inf", |
"items": { |
- "$ref": "MetricValueSet" |
+ "format": "double", |
+ "type": "number" |
}, |
"type": "array" |
} |
}, |
"type": "object" |
}, |
- "CheckRequest": { |
- "description": "Request message for the Check method.", |
- "id": "CheckRequest", |
+ "ExponentialBuckets": { |
+ "description": "Describing buckets with exponentially growing width.", |
+ "id": "ExponentialBuckets", |
"properties": { |
- "skipActivationCheck": { |
- "description": "Indicates if service activation check should be skipped for this request.\nDefault behavior is to perform the check and apply relevant quota.", |
- "type": "boolean" |
+ "numFiniteBuckets": { |
+ "description": "The number of finite buckets. With the underflow and overflow buckets,\nthe total number of buckets is `num_finite_buckets` + 2.\nSee comments on `bucket_options` for details.", |
+ "format": "int32", |
+ "type": "integer" |
}, |
- "operation": { |
- "$ref": "Operation", |
- "description": "The operation to be checked." |
+ "growthFactor": { |
+ "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be larger than 1.0.", |
+ "format": "double", |
+ "type": "number" |
}, |
- "requestProjectSettings": { |
- "description": "Requests the project settings to be returned as part of the check response.", |
+ "scale": { |
+ "description": "The i'th exponential bucket covers the interval\n [scale * growth_factor^(i-1), scale * growth_factor^i)\nwhere i ranges from 1 to num_finite_buckets inclusive.\nMust be > 0.", |
+ "format": "double", |
+ "type": "number" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "AuthorizationInfo": { |
+ "description": "Authorization information for the operation.", |
+ "id": "AuthorizationInfo", |
+ "properties": { |
+ "resource": { |
+ "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID", |
+ "type": "string" |
+ }, |
+ "granted": { |
+ "description": "Whether or not authorization for `resource` and `permission`\nwas granted.", |
"type": "boolean" |
}, |
- "serviceConfigId": { |
- "description": "Specifies which version of service configuration should be used to process\nthe request.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", |
+ "permission": { |
+ "description": "The required IAM permission.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "QuotaOperation": { |
- "description": "Represents information regarding a quota operation.", |
- "id": "QuotaOperation", |
+ "StartReconciliationResponse": { |
+ "id": "StartReconciliationResponse", |
"properties": { |
- "quotaMode": { |
- "description": "Quota mode for this operation.", |
- "enum": [ |
- "UNSPECIFIED", |
- "NORMAL", |
- "BEST_EFFORT", |
- "CHECK_ONLY" |
- ], |
- "enumDescriptions": [ |
- "", |
- "For AllocateQuota request, allocates quota for the amount specified in\nthe service configuration or specified using the quota metrics. If the\namount is higher than the available quota, allocation error will be\nreturned and no quota will be allocated.\nFor ReleaseQuota request, this mode is supported only for precise quota\nlimits. In this case, this operation releases quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the release can make available quota negative, release error\nwill be returned and no quota will be released.", |
- "For AllocateQuota request, this mode is supported only for imprecise\nquota limits. In this case, the operation allocates quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the amount is higher than the available quota, request does\nnot fail but all available quota will be allocated.\nFor ReleaseQuota request, this mode is supported for both precise quota\nlimits and imprecise quota limits. In this case, this operation releases\nquota for the amount specified in the service configuration or specified\nusing the quota metrics. If the release can make available quota\nnegative, request does not fail but only the available quota will be\nreleased. After the ReleaseQuota request completes, the available quota\nwill be 0, and never goes to negative.", |
- "For AllocateQuota request, only checks if there is enough quota\navailable and does not change the available quota. No lock is placed on\nthe available quota either. Not supported for ReleaseQuota request." |
- ], |
- "type": "string" |
+ "quotaMetrics": { |
+ "description": "Metric values as tracked by One Platform before the start of\nreconciliation. The following metrics will be included:\n\n1. Per quota metric total usage will be specified using the following gauge\nmetric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n2. Value for each quota limit associated with the metrics will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/quota/limit\"", |
+ "items": { |
+ "$ref": "MetricValueSet" |
+ }, |
+ "type": "array" |
}, |
- "methodName": { |
- "description": "Fully qualified name of the API method for which this quota operation is\nrequested. This name is used for matching quota rules or metric rules and\nbilling status rules defined in service configuration. This field is not\nrequired if the quota operation is performed on non-API resources.\n\nExample of an RPC method name:\n google.example.library.v1.LibraryService.CreateShelf", |
+ "operationId": { |
+ "description": "The same operation_id value used in the StartReconciliationRequest. Used\nfor logging and diagnostics purposes.", |
"type": "string" |
}, |
- "quotaMetrics": { |
- "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", |
+ "reconciliationErrors": { |
+ "description": "Indicates the decision of the reconciliation start.", |
"items": { |
- "$ref": "MetricValueSet" |
+ "$ref": "QuotaError" |
}, |
"type": "array" |
}, |
- "labels": { |
+ "serviceConfigId": { |
+ "description": "ID of the actual config used to process the request.", |
+ "type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "QuotaProperties": { |
+ "description": "Represents the properties needed for quota operations.", |
+ "id": "QuotaProperties", |
+ "properties": { |
+ "limitByIds": { |
"additionalProperties": { |
"type": "string" |
}, |
- "description": "Labels describing the operation.", |
+ "description": "LimitType IDs that should be used for checking quota. Key in this map\nshould be a valid LimitType string, and the value is the ID to be used. For\nexample, an entry <USER, 123> will cause all user quota limits to use 123\nas the user ID. See google/api/quota.proto for the definition of LimitType.\nCLIENT_PROJECT: Not supported.\nUSER: Value of this entry will be used for enforcing user-level quota\n limits. If none specified, caller IP passed in the\n servicecontrol.googleapis.com/caller_ip label will be used instead.\n If the server cannot resolve a value for this LimitType, an error\n will be thrown. No validation will be performed on this ID.\nDeprecated: use servicecontrol.googleapis.com/user label to send user ID.", |
"type": "object" |
}, |
- "consumerId": { |
- "description": "Identity of the consumer for whom this quota operation is being performed.\n\nThis can be in one of the following formats:\n project:<project_id>,\n project_number:<project_number>,\n api_key:<api_key>.", |
- "type": "string" |
- }, |
- "operationId": { |
- "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls AllocateQuota\nand ReleaseQuota on the same operation, the two calls should carry the\nsame ID.\n\nUUID version 4 is recommended, though not required. In scenarios where an\noperation is computed from existing information and an idempotent id is\ndesirable for deduplication purpose, UUID version 5 is recommended. See\nRFC 4122 for details.", |
+ "quotaMode": { |
+ "description": "Quota mode for this operation.", |
+ "enum": [ |
+ "ACQUIRE", |
+ "ACQUIRE_BEST_EFFORT", |
+ "CHECK", |
+ "RELEASE" |
+ ], |
+ "enumDescriptions": [ |
+ "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation fails and returns\nerror.", |
+ "Decreases available quota by the cost specified for the operation.\nIf cost is higher than available quota, operation does not fail and\navailable quota goes down to zero but it returns error.", |
+ "Does not change any available quota. Only checks if there is enough\nquota.\nNo lock is placed on the checked tokens neither.", |
+ "Increases available quota by the operation cost specified for the\noperation." |
+ ], |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "EndReconciliationRequest": { |
- "id": "EndReconciliationRequest", |
+ "LinearBuckets": { |
+ "description": "Describing buckets with constant width.", |
+ "id": "LinearBuckets", |
"properties": { |
- "reconciliationOperation": { |
- "$ref": "QuotaOperation", |
- "description": "Operation that describes the quota reconciliation." |
+ "width": { |
+ "description": "The i'th linear bucket covers the interval\n [offset + (i-1) * width, offset + i * width)\nwhere i ranges from 1 to num_finite_buckets, inclusive.\nMust be strictly positive.", |
+ "format": "double", |
+ "type": "number" |
}, |
- "serviceConfigId": { |
- "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
- "type": "string" |
+ "offset": { |
+ "description": "The i'th linear bucket covers the interval\n [offset + (i-1) * width, offset + i * width)\nwhere i ranges from 1 to num_finite_buckets, inclusive.", |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "numFiniteBuckets": { |
+ "description": "The number of finite buckets. With the underflow and overflow buckets,\nthe total number of buckets is `num_finite_buckets` + 2.\nSee comments on `bucket_options` for details.", |
+ "format": "int32", |
+ "type": "integer" |
} |
}, |
"type": "object" |
}, |
- "ReportInfo": { |
- "id": "ReportInfo", |
+ "AuthenticationInfo": { |
+ "description": "Authentication information for the operation.", |
+ "id": "AuthenticationInfo", |
"properties": { |
- "operationId": { |
- "description": "The Operation.operation_id value from the request.", |
+ "principalEmail": { |
+ "description": "The email address of the authenticated user making the request.", |
"type": "string" |
}, |
- "quotaInfo": { |
- "$ref": "QuotaInfo", |
- "description": "Quota usage info when processing the `Operation`." |
+ "authoritySelector": { |
+ "description": "The authority selector specified by the requestor, if any.\nIt is not guaranteed that the principal was allowed to use this authority.", |
+ "type": "string" |
} |
}, |
"type": "object" |
}, |
- "Operation": { |
- "description": "Represents information regarding an operation.", |
- "id": "Operation", |
+ "AllocateQuotaResponse": { |
+ "description": "Response message for the AllocateQuota method.", |
+ "id": "AllocateQuotaResponse", |
"properties": { |
- "quotaProperties": { |
- "$ref": "QuotaProperties", |
- "description": "Represents the properties needed for quota check. Applicable only if this\noperation is for a quota check request." |
- }, |
- "consumerId": { |
- "description": "Identity of the consumer who is using the service.\nThis field should be filled in for the operations initiated by a\nconsumer, but not for service-initiated operations that are\nnot related to a specific consumer.\n\nThis can be in one of the following formats:\n project:<project_id>,\n project_number:<project_number>,\n api_key:<api_key>.", |
- "type": "string" |
+ "quotaMetrics": { |
+ "description": "Quota metrics to indicate the result of allocation. Depending on the\nrequest, one or more of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric incremental usage\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_used_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n3. For both rate quota and allocation quota, the quota limit reached\ncondition will be specified using the following boolean metric:\n \"serviceruntime.googleapis.com/quota/exceeded\"\n\n4. For allocation quota, value for each quota limit associated with\nthe metrics will be specified using the following gauge metric:\n \"serviceruntime.googleapis.com/quota/limit\"", |
+ "items": { |
+ "$ref": "MetricValueSet" |
+ }, |
+ "type": "array" |
}, |
"operationId": { |
- "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls\nCheck() and Report() on the same operation, the two calls should carry\nthe same id.\n\nUUID version 4 is recommended, though not required.\nIn scenarios where an operation is computed from existing information\nand an idempotent id is desirable for deduplication purpose, UUID version 5\nis recommended. See RFC 4122 for details.", |
- "type": "string" |
- }, |
- "endTime": { |
- "description": "End time of the operation.\nRequired when the operation is used in ServiceController.Report,\nbut optional when the operation is used in ServiceController.Check.", |
- "format": "google-datetime", |
- "type": "string" |
- }, |
- "operationName": { |
- "description": "Fully qualified name of the operation. Reserved for future use.", |
- "type": "string" |
- }, |
- "startTime": { |
- "description": "Required. Start time of the operation.", |
- "format": "google-datetime", |
- "type": "string" |
- }, |
- "importance": { |
- "description": "DO NOT USE. This is an experimental field.", |
- "enum": [ |
- "LOW", |
- "HIGH", |
- "DEBUG" |
- ], |
- "enumDescriptions": [ |
- "The API implementation may cache and aggregate the data.\nThe data may be lost when rare and unexpected system failures occur.", |
- "The API implementation doesn't cache and aggregate the data.\nIf the method returns successfully, it's guaranteed that the data has\nbeen persisted in durable storage.", |
- "In addition to the behavior described in HIGH, DEBUG enables\nadditional validation logic that is only useful during the onboarding\nprocess. This is only available to Google internal services and\nthe service must be whitelisted by chemist-dev@google.com in order\nto use this level." |
- ], |
+ "description": "The same operation_id value used in the AllocateQuotaRequest. Used for\nlogging and diagnostics purposes.", |
"type": "string" |
}, |
- "resourceContainer": { |
- "description": "The resource name of the parent of a resource in the resource hierarchy.\n\nThis can be in one of the following formats:\n - “projects/<project-id or project-number>”\n - “folders/<folder-id>”\n - “organizations/<organization-id>”", |
+ "serviceConfigId": { |
+ "description": "ID of the actual config used to process the request.", |
"type": "string" |
}, |
- "labels": { |
- "additionalProperties": { |
- "type": "string" |
- }, |
- "description": "Labels describing the operation. Only the following labels are allowed:\n\n- Labels describing monitored resources as defined in\n the service configuration.\n- Default labels of metric values. When specified, labels defined in the\n metric value override these default.\n- The following labels defined by Google Cloud Platform:\n - `cloud.googleapis.com/location` describing the location where the\n operation happened,\n - `servicecontrol.googleapis.com/user_agent` describing the user agent\n of the API request,\n - `servicecontrol.googleapis.com/service_agent` describing the service\n used to handle the API request (e.g. ESP),\n - `servicecontrol.googleapis.com/platform` describing the platform\n where the API is served (e.g. GAE, GCE, GKE).", |
- "type": "object" |
- }, |
- "logEntries": { |
- "description": "Represents information to be logged.", |
- "items": { |
- "$ref": "LogEntry" |
- }, |
- "type": "array" |
- }, |
- "userLabels": { |
- "additionalProperties": { |
- "type": "string" |
- }, |
- "description": "User defined labels for the resource that this operation is associated\nwith.", |
- "type": "object" |
- }, |
- "metricValueSets": { |
- "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", |
+ "allocateErrors": { |
+ "description": "Indicates the decision of the allocate.", |
"items": { |
- "$ref": "MetricValueSet" |
+ "$ref": "QuotaError" |
}, |
"type": "array" |
} |
}, |
"type": "object" |
}, |
- "ReportResponse": { |
- "description": "Response message for the Report method.", |
- "id": "ReportResponse", |
+ "ReleaseQuotaRequest": { |
+ "description": "Request message for the ReleaseQuota method.", |
+ "id": "ReleaseQuotaRequest", |
"properties": { |
- "reportInfos": { |
- "description": "Quota usage for each quota release `Operation` request.\n\nFully or partially failed quota release request may or may not be present\nin `report_quota_info`. For example, a failed quota release request will\nhave the current quota usage info when precise quota library returns the\ninfo. A deadline exceeded quota request will not have quota usage info.\n\nIf there is no quota release request, report_quota_info will be empty.\n", |
- "items": { |
- "$ref": "ReportInfo" |
- }, |
- "type": "array" |
- }, |
"serviceConfigId": { |
- "description": "The actual config id used to process the request.", |
+ "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
"type": "string" |
}, |
- "reportErrors": { |
- "description": "Partial failures, one for each `Operation` in the request that failed\nprocessing. There are three possible combinations of the RPC status:\n\n1. The combination of a successful RPC status and an empty `report_errors`\n list indicates a complete success where all `Operations` in the\n request are processed successfully.\n2. The combination of a successful RPC status and a non-empty\n `report_errors` list indicates a partial success where some\n `Operations` in the request succeeded. Each\n `Operation` that failed processing has a corresponding item\n in this list.\n3. A failed RPC status indicates a general non-deterministic failure.\n When this happens, it's impossible to know which of the\n 'Operations' in the request succeeded or failed.", |
- "items": { |
- "$ref": "ReportError" |
- }, |
- "type": "array" |
+ "releaseOperation": { |
+ "$ref": "QuotaOperation", |
+ "description": "Operation that describes the quota release." |
} |
}, |
"type": "object" |
}, |
- "CheckResponse": { |
- "description": "Response message for the Check method.", |
- "id": "CheckResponse", |
+ "QuotaError": { |
+ "id": "QuotaError", |
"properties": { |
- "operationId": { |
- "description": "The same operation_id value used in the CheckRequest.\nUsed for logging and diagnostics purposes.", |
+ "subject": { |
+ "description": "Subject to whom this error applies. See the specific enum for more details\non this field. For example, \"clientip:<ip address of client>\" or\n\"project:<Google developer project id>\".", |
"type": "string" |
}, |
- "checkErrors": { |
- "description": "Indicate the decision of the check.\n\nIf no check errors are present, the service should process the operation.\nOtherwise the service should use the list of errors to determine the\nappropriate action.", |
- "items": { |
- "$ref": "CheckError" |
- }, |
- "type": "array" |
- }, |
- "checkInfo": { |
- "$ref": "CheckInfo", |
- "description": "Feedback data returned from the server during processing a Check request." |
- }, |
- "quotaInfo": { |
- "$ref": "QuotaInfo", |
- "description": "Quota information for the check request associated with this response.\n" |
+ "description": { |
+ "description": "Free-form text that provides details on the cause of the error.", |
+ "type": "string" |
}, |
- "serviceConfigId": { |
- "description": "The actual config id used to process the request.", |
+ "code": { |
+ "description": "Error code.", |
+ "enum": [ |
+ "UNSPECIFIED", |
+ "RESOURCE_EXHAUSTED", |
+ "PROJECT_SUSPENDED", |
+ "SERVICE_NOT_ENABLED", |
+ "BILLING_NOT_ACTIVE", |
+ "PROJECT_DELETED", |
+ "PROJECT_INVALID", |
+ "IP_ADDRESS_BLOCKED", |
+ "REFERER_BLOCKED", |
+ "CLIENT_APP_BLOCKED", |
+ "API_KEY_INVALID", |
+ "API_KEY_EXPIRED", |
+ "SPATULA_HEADER_INVALID", |
+ "LOAS_ROLE_INVALID", |
+ "NO_LOAS_PROJECT", |
+ "PROJECT_STATUS_UNAVAILABLE", |
+ "SERVICE_STATUS_UNAVAILABLE", |
+ "BILLING_STATUS_UNAVAILABLE", |
+ "QUOTA_SYSTEM_UNAVAILABLE" |
+ ], |
+ "enumDescriptions": [ |
+ "This is never used.", |
+ "Quota allocation failed.\nSame as google.rpc.Code.RESOURCE_EXHAUSTED.", |
+ "Consumer project has been suspended.", |
+ "Consumer has not enabled the service.", |
+ "Consumer cannot access the service because billing is disabled.", |
+ "Consumer's project has been marked as deleted (soft deletion).", |
+ "Consumer's project number or ID does not represent a valid project.", |
+ "IP address of the consumer is invalid for the specific consumer\nproject.", |
+ "Referer address of the consumer request is invalid for the specific\nconsumer project.", |
+ "Client application of the consumer request is invalid for the\nspecific consumer project.", |
+ "Specified API key is invalid.", |
+ "Specified API Key has expired.", |
+ "Consumer's spatula header is invalid.", |
+ "The consumer's LOAS role is invalid.", |
+ "The consumer's LOAS role has no associated project.", |
+ "The backend server for looking up project id/number is unavailable.", |
+ "The backend server for checking service status is unavailable.", |
+ "The backend server for checking billing status is unavailable.", |
+ "The backend server for checking quota limits is unavailable." |
+ ], |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "Status": { |
- "description": "The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` which can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting purpose.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.", |
- "id": "Status", |
+ "RequestMetadata": { |
+ "description": "Metadata about the request.", |
+ "id": "RequestMetadata", |
"properties": { |
- "details": { |
- "description": "A list of messages that carry the error details. There will be a\ncommon set of message types for APIs to use.", |
- "items": { |
- "additionalProperties": { |
- "description": "Properties of the object. Contains field @type with type URL.", |
- "type": "any" |
- }, |
- "type": "object" |
- }, |
- "type": "array" |
- }, |
- "code": { |
- "description": "The status code, which should be an enum value of google.rpc.Code.", |
- "format": "int32", |
- "type": "integer" |
+ "callerIp": { |
+ "description": "The IP address of the caller.", |
+ "type": "string" |
}, |
- "message": { |
- "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", |
+ "callerSuppliedUserAgent": { |
+ "description": "The user agent of the caller.\nThis information is not authenticated and should be treated accordingly.\nFor example:\n\n+ `google-api-python-client/1.4.0`:\n The request was made by the Google API client for Python.\n+ `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:\n The request was made by the Google Cloud SDK CLI (gcloud).\n+ `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:\n The request was made from the `my-project` App Engine app.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "ReportRequest": { |
- "description": "Request message for the Report method.", |
- "id": "ReportRequest", |
+ "CheckInfo": { |
+ "id": "CheckInfo", |
"properties": { |
- "operations": { |
- "description": "Operations to be reported.\n\nTypically the service should report one operation per request.\nPutting multiple operations into a single request is allowed, but should\nbe used only when multiple operations are natually available at the time\nof the report.\n\nIf multiple operations are in a single request, the total request size\nshould be no larger than 1MB. See ReportResponse.report_errors for\npartial failure behavior.", |
+ "unusedArguments": { |
+ "description": "A list of fields and label keys that are ignored by the server.\nThe client doesn't need to send them for following requests to improve\nperformance and allow better aggregation.", |
"items": { |
- "$ref": "Operation" |
+ "type": "string" |
}, |
"type": "array" |
- }, |
- "serviceConfigId": { |
- "description": "Specifies which version of service config should be used to process the\nrequest.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", |
- "type": "string" |
} |
}, |
"type": "object" |
}, |
- "AuditLog": { |
- "description": "Common audit log format for Google Cloud Platform API operations.\n\n", |
- "id": "AuditLog", |
+ "AllocateQuotaRequest": { |
+ "description": "Request message for the AllocateQuota method.", |
+ "id": "AllocateQuotaRequest", |
"properties": { |
- "authorizationInfo": { |
- "description": "Authorization information. If there are multiple\nresources or permissions involved, then there is\none AuthorizationInfo element for each {resource, permission} tuple.", |
+ "serviceConfigId": { |
+ "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
+ "type": "string" |
+ }, |
+ "allocateOperation": { |
+ "$ref": "QuotaOperation", |
+ "description": "Operation that describes the quota allocation." |
+ }, |
+ "allocationMode": { |
+ "description": "Allocation mode for this operation.\nDeprecated: use QuotaMode inside the QuotaOperation.", |
+ "enum": [ |
+ "UNSPECIFIED", |
+ "NORMAL", |
+ "BEST_EFFORT", |
+ "CHECK_ONLY" |
+ ], |
+ "enumDescriptions": [ |
+ "", |
+ "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, allocation error will be returned and no quota will be\nallocated.", |
+ "Allocates quota for the amount specified in the service configuration or\nspecified using the quota_metrics. If the amount is higher than the\navailable quota, request does not fail but all available quota will be\nallocated.", |
+ "Only checks if there is enough quota available and does not change the\navailable quota. No lock is placed on the available quota either." |
+ ], |
+ "type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "ReleaseQuotaResponse": { |
+ "description": "Response message for the ReleaseQuota method.", |
+ "id": "ReleaseQuotaResponse", |
+ "properties": { |
+ "quotaMetrics": { |
+ "description": "Quota metrics to indicate the result of release. Depending on the\nrequest, one or more of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric released amount\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_refund_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n3. For allocation quota, value for each quota limit associated with\nthe metrics will be specified using the following gauge metric:\n \"serviceruntime.googleapis.com/quota/limit\"", |
"items": { |
- "$ref": "AuthorizationInfo" |
+ "$ref": "MetricValueSet" |
}, |
"type": "array" |
}, |
- "resourceName": { |
- "description": "The resource or collection that is the target of the operation.\nThe name is a scheme-less URI, not including the API service name.\nFor example:\n\n \"shelves/SHELF_ID/books\"\n \"shelves/SHELF_ID/books/BOOK_ID\"", |
+ "operationId": { |
+ "description": "The same operation_id value used in the ReleaseQuotaRequest. Used for\nlogging and diagnostics purposes.", |
"type": "string" |
}, |
- "request": { |
- "additionalProperties": { |
- "description": "Properties of the object.", |
- "type": "any" |
- }, |
- "description": "The operation request. This may not include all request parameters,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", |
- "type": "object" |
+ "serviceConfigId": { |
+ "description": "ID of the actual config used to process the request.", |
+ "type": "string" |
}, |
- "serviceData": { |
- "additionalProperties": { |
- "description": "Properties of the object. Contains field @type with type URL.", |
- "type": "any" |
+ "releaseErrors": { |
+ "description": "Indicates the decision of the release.", |
+ "items": { |
+ "$ref": "QuotaError" |
}, |
- "description": "Other service-specific data about the request, response, and other\nactivities.", |
- "type": "object" |
- }, |
- "requestMetadata": { |
- "$ref": "RequestMetadata", |
- "description": "Metadata about the operation." |
+ "type": "array" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "MetricValueSet": { |
+ "description": "Represents a set of metric values in the same metric.\nEach metric value in the set should have a unique combination of start time,\nend time, and label values.", |
+ "id": "MetricValueSet", |
+ "properties": { |
+ "metricValues": { |
+ "description": "The values in this metric.", |
+ "items": { |
+ "$ref": "MetricValue" |
+ }, |
+ "type": "array" |
}, |
- "numResponseItems": { |
- "description": "The number of items returned from a List or Query API method,\nif applicable.", |
- "format": "int64", |
+ "metricName": { |
+ "description": "The metric name defined in the service configuration.", |
"type": "string" |
- }, |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "ReportError": { |
+ "description": "Represents the processing error of one `Operation` in the request.", |
+ "id": "ReportError", |
+ "properties": { |
"status": { |
"$ref": "Status", |
- "description": "The status of the overall operation." |
- }, |
- "authenticationInfo": { |
- "$ref": "AuthenticationInfo", |
- "description": "Authentication information." |
- }, |
- "serviceName": { |
- "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.", |
- "type": "string" |
- }, |
- "response": { |
- "additionalProperties": { |
- "description": "Properties of the object.", |
- "type": "any" |
- }, |
- "description": "The operation response. This may not include all response elements,\nsuch as those that are too large, privacy-sensitive, or duplicated\nelsewhere in the log record.\nIt should never include user-generated data, such as file contents.\nWhen the JSON object represented here has a proto equivalent, the proto\nname will be indicated in the `@type` property.", |
- "type": "object" |
+ "description": "Details of the error when processing the `Operation`." |
}, |
- "methodName": { |
- "description": "The name of the service method or operation.\nFor API calls, this should be the name of the API method.\nFor example,\n\n \"google.datastore.v1.Datastore.RunQuery\"\n \"google.logging.v1.LoggingService.DeleteLog\"", |
+ "operationId": { |
+ "description": "The Operation.operation_id value from the request.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "LogEntry": { |
- "description": "An individual log entry.", |
- "id": "LogEntry", |
+ "StartReconciliationRequest": { |
+ "id": "StartReconciliationRequest", |
"properties": { |
- "protoPayload": { |
- "additionalProperties": { |
- "description": "Properties of the object. Contains field @type with type URL.", |
- "type": "any" |
- }, |
- "description": "The log entry payload, represented as a protocol buffer that is\nexpressed as a JSON object. You can only pass `protoPayload`\nvalues that belong to a set of approved types.", |
- "type": "object" |
- }, |
- "timestamp": { |
- "description": "The time the event described by the log entry occurred. If\nomitted, defaults to operation start time.", |
- "format": "google-datetime", |
+ "serviceConfigId": { |
+ "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
"type": "string" |
}, |
- "labels": { |
- "additionalProperties": { |
- "type": "string" |
- }, |
- "description": "A set of user-defined (key, value) data that provides additional\ninformation about the log entry.", |
- "type": "object" |
- }, |
- "severity": { |
- "description": "The severity of the log entry. The default value is\n`LogSeverity.DEFAULT`.", |
+ "reconciliationOperation": { |
+ "$ref": "QuotaOperation", |
+ "description": "Operation that describes the quota reconciliation." |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "CheckError": { |
+ "description": "Defines the errors to be returned in\ngoogle.api.servicecontrol.v1.CheckResponse.check_errors.", |
+ "id": "CheckError", |
+ "properties": { |
+ "code": { |
+ "description": "The error code.", |
"enum": [ |
- "DEFAULT", |
- "DEBUG", |
- "INFO", |
- "NOTICE", |
- "WARNING", |
- "ERROR", |
- "CRITICAL", |
- "ALERT", |
- "EMERGENCY" |
+ "ERROR_CODE_UNSPECIFIED", |
+ "NOT_FOUND", |
+ "PERMISSION_DENIED", |
+ "RESOURCE_EXHAUSTED", |
+ "BUDGET_EXCEEDED", |
+ "DENIAL_OF_SERVICE_DETECTED", |
+ "LOAD_SHEDDING", |
+ "ABUSER_DETECTED", |
+ "SERVICE_NOT_ACTIVATED", |
+ "VISIBILITY_DENIED", |
+ "BILLING_DISABLED", |
+ "PROJECT_DELETED", |
+ "PROJECT_INVALID", |
+ "IP_ADDRESS_BLOCKED", |
+ "REFERER_BLOCKED", |
+ "CLIENT_APP_BLOCKED", |
+ "API_TARGET_BLOCKED", |
+ "API_KEY_INVALID", |
+ "API_KEY_EXPIRED", |
+ "API_KEY_NOT_FOUND", |
+ "SPATULA_HEADER_INVALID", |
+ "LOAS_ROLE_INVALID", |
+ "NO_LOAS_PROJECT", |
+ "LOAS_PROJECT_DISABLED", |
+ "SECURITY_POLICY_VIOLATED", |
+ "NAMESPACE_LOOKUP_UNAVAILABLE", |
+ "SERVICE_STATUS_UNAVAILABLE", |
+ "BILLING_STATUS_UNAVAILABLE", |
+ "QUOTA_CHECK_UNAVAILABLE", |
+ "LOAS_PROJECT_LOOKUP_UNAVAILABLE", |
+ "CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE", |
+ "SECURITY_POLICY_BACKEND_UNAVAILABLE" |
], |
"enumDescriptions": [ |
- "(0) The log entry has no assigned severity level.", |
- "(100) Debug or trace information.", |
- "(200) Routine information, such as ongoing status or performance.", |
- "(300) Normal but significant events, such as start up, shut down, or\na configuration change.", |
- "(400) Warning events might cause problems.", |
- "(500) Error events are likely to cause problems.", |
- "(600) Critical events cause more severe problems or outages.", |
- "(700) A person must take an action immediately.", |
- "(800) One or more systems are unusable." |
+ "This is never used in `CheckResponse`.", |
+ "The consumer's project id was not found.\nSame as google.rpc.Code.NOT_FOUND.", |
+ "The consumer doesn't have access to the specified resource.\nSame as google.rpc.Code.PERMISSION_DENIED.", |
+ "Quota check failed. Same as google.rpc.Code.RESOURCE_EXHAUSTED.", |
+ "Budget check failed.", |
+ "The consumer's request has been flagged as a DoS attack.", |
+ "The consumer's request should be rejected in order to protect the service\nfrom being overloaded.", |
+ "The consumer has been flagged as an abuser.", |
+ "The consumer hasn't activated the service.", |
+ "The consumer cannot access the service due to visibility configuration.", |
+ "The consumer cannot access the service because billing is disabled.", |
+ "The consumer's project has been marked as deleted (soft deletion).", |
+ "The consumer's project number or id does not represent a valid project.", |
+ "The IP address of the consumer is invalid for the specific consumer\nproject.", |
+ "The referer address of the consumer request is invalid for the specific\nconsumer project.", |
+ "The client application of the consumer request is invalid for the\nspecific consumer project.", |
+ "The API targeted by this request is invalid for the specified consumer\nproject.", |
+ "The consumer's API key is invalid.", |
+ "The consumer's API Key has expired.", |
+ "The consumer's API Key was not found in config record.", |
+ "The consumer's spatula header is invalid.", |
+ "The consumer's LOAS role is invalid.", |
+ "The consumer's LOAS role has no associated project.", |
+ "The consumer's LOAS project is not `ACTIVE` in LoquatV2.", |
+ "Request is not allowed as per security policies defined in Org Policy.", |
+ "The backend server for looking up project id/number is unavailable.", |
+ "The backend server for checking service status is unavailable.", |
+ "The backend server for checking billing status is unavailable.", |
+ "The backend server for checking quota limits is unavailable.", |
+ "The Spanner for looking up LOAS project is unavailable.", |
+ "Cloud Resource Manager backend server is unavailable.", |
+ "Backend server for evaluating security policy is unavailable." |
], |
"type": "string" |
}, |
- "insertId": { |
- "description": "A unique ID for the log entry used for deduplication. If omitted,\nthe implementation will generate one based on operation_id.", |
+ "detail": { |
+ "description": "Free-form text providing details on the error cause of the error.", |
"type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "QuotaInfo": { |
+ "description": "Contains the quota information for a quota check response.", |
+ "id": "QuotaInfo", |
+ "properties": { |
+ "limitExceeded": { |
+ "description": "Quota Metrics that have exceeded quota limits.\nFor QuotaGroup-based quota, this is QuotaGroup.name\nFor QuotaLimit-based quota, this is QuotaLimit.name\nSee: google.api.Quota\nDeprecated: Use quota_metrics to get per quota group limit exceeded status.", |
+ "items": { |
+ "type": "string" |
+ }, |
+ "type": "array" |
}, |
- "name": { |
- "description": "Required. The log to which this log entry belongs. Examples: `\"syslog\"`,\n`\"book_log\"`.", |
+ "quotaConsumed": { |
+ "additionalProperties": { |
+ "format": "int32", |
+ "type": "integer" |
+ }, |
+ "description": "Map of quota group name to the actual number of tokens consumed. If the\nquota check was not successful, then this will not be populated due to no\nquota consumption.\nDeprecated: Use quota_metrics to get per quota group usage.", |
+ "type": "object" |
+ }, |
+ "quotaMetrics": { |
+ "description": "Quota metrics to indicate the usage. Depending on the check request, one or\nmore of the following metrics will be included:\n\n1. For rate quota, per quota group or per quota metric incremental usage\nwill be specified using the following delta metric:\n \"serviceruntime.googleapis.com/api/consumer/quota_used_count\"\n\n2. For allocation quota, per quota metric total usage will be specified\nusing the following gauge metric:\n \"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"\n\n3. For both rate quota and allocation quota, the quota limit reached\ncondition will be specified using the following boolean metric:\n \"serviceruntime.googleapis.com/quota/exceeded\"", |
+ "items": { |
+ "$ref": "MetricValueSet" |
+ }, |
+ "type": "array" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "CheckRequest": { |
+ "description": "Request message for the Check method.", |
+ "id": "CheckRequest", |
+ "properties": { |
+ "serviceConfigId": { |
+ "description": "Specifies which version of service configuration should be used to process\nthe request.\n\nIf unspecified or no matching version can be found, the\nlatest one will be used.", |
"type": "string" |
}, |
- "structPayload": { |
- "additionalProperties": { |
- "description": "Properties of the object.", |
- "type": "any" |
- }, |
- "description": "The log entry payload, represented as a structure that\nis expressed as a JSON object.", |
- "type": "object" |
+ "skipActivationCheck": { |
+ "description": "Indicates if service activation check should be skipped for this request.\nDefault behavior is to perform the check and apply relevant quota.", |
+ "type": "boolean" |
+ }, |
+ "operation": { |
+ "$ref": "Operation", |
+ "description": "The operation to be checked." |
}, |
- "textPayload": { |
- "description": "The log entry payload, represented as a Unicode string (UTF-8).", |
- "type": "string" |
+ "requestProjectSettings": { |
+ "description": "Requests the project settings to be returned as part of the check response.", |
+ "type": "boolean" |
} |
}, |
"type": "object" |
}, |
- "MetricValue": { |
- "description": "Represents a single metric value.", |
- "id": "MetricValue", |
+ "QuotaOperation": { |
+ "description": "Represents information regarding a quota operation.", |
+ "id": "QuotaOperation", |
"properties": { |
- "labels": { |
- "additionalProperties": { |
- "type": "string" |
- }, |
- "description": "The labels describing the metric value.\nSee comments on google.api.servicecontrol.v1.Operation.labels for\nthe overriding relationship.", |
- "type": "object" |
- }, |
- "stringValue": { |
- "description": "A text string value.", |
+ "consumerId": { |
+ "description": "Identity of the consumer for whom this quota operation is being performed.\n\nThis can be in one of the following formats:\n project:<project_id>,\n project_number:<project_number>,\n api_key:<api_key>.", |
"type": "string" |
}, |
- "doubleValue": { |
- "description": "A double precision floating point value.", |
- "format": "double", |
- "type": "number" |
- }, |
- "int64Value": { |
- "description": "A signed 64-bit integer value.", |
- "format": "int64", |
+ "operationId": { |
+ "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls AllocateQuota\nand ReleaseQuota on the same operation, the two calls should carry the\nsame ID.\n\nUUID version 4 is recommended, though not required. In scenarios where an\noperation is computed from existing information and an idempotent id is\ndesirable for deduplication purpose, UUID version 5 is recommended. See\nRFC 4122 for details.", |
"type": "string" |
}, |
- "distributionValue": { |
- "$ref": "Distribution", |
- "description": "A distribution value." |
- }, |
- "boolValue": { |
- "description": "A boolean value.", |
- "type": "boolean" |
- }, |
- "endTime": { |
- "description": "The end of the time period over which this metric value's measurement\napplies.", |
- "format": "google-datetime", |
+ "methodName": { |
+ "description": "Fully qualified name of the API method for which this quota operation is\nrequested. This name is used for matching quota rules or metric rules and\nbilling status rules defined in service configuration. This field is not\nrequired if the quota operation is performed on non-API resources.\n\nExample of an RPC method name:\n google.example.library.v1.LibraryService.CreateShelf", |
"type": "string" |
}, |
- "startTime": { |
- "description": "The start of the time period over which this metric value's measurement\napplies. The time period has different semantics for different metric\ntypes (cumulative, delta, and gauge). See the metric definition\ndocumentation in the service configuration for details.", |
- "format": "google-datetime", |
+ "quotaMode": { |
+ "description": "Quota mode for this operation.", |
+ "enum": [ |
+ "UNSPECIFIED", |
+ "NORMAL", |
+ "BEST_EFFORT", |
+ "CHECK_ONLY" |
+ ], |
+ "enumDescriptions": [ |
+ "", |
+ "For AllocateQuota request, allocates quota for the amount specified in\nthe service configuration or specified using the quota metrics. If the\namount is higher than the available quota, allocation error will be\nreturned and no quota will be allocated.\nFor ReleaseQuota request, this mode is supported only for precise quota\nlimits. In this case, this operation releases quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the release can make used quota negative, release error\nwill be returned and no quota will be released.", |
+ "For AllocateQuota request, this mode is supported only for imprecise\nquota limits. In this case, the operation allocates quota for the amount\nspecified in the service configuration or specified using the quota\nmetrics. If the amount is higher than the available quota, request does\nnot fail but all available quota will be allocated.\nFor ReleaseQuota request, this mode is supported for both precise quota\nlimits and imprecise quota limits. In this case, this operation releases\nquota for the amount specified in the service configuration or specified\nusing the quota metrics. If the release can make used quota\nnegative, request does not fail but only the used quota will be\nreleased. After the ReleaseQuota request completes, the used quota\nwill be 0, and never goes to negative.", |
+ "For AllocateQuota request, only checks if there is enough quota\navailable and does not change the available quota. No lock is placed on\nthe available quota either. Not supported for ReleaseQuota request." |
+ ], |
"type": "string" |
}, |
- "moneyValue": { |
- "$ref": "Money", |
- "description": "A money value." |
- } |
- }, |
- "type": "object" |
- }, |
- "EndReconciliationResponse": { |
- "id": "EndReconciliationResponse", |
- "properties": { |
"quotaMetrics": { |
- "description": "Metric values as tracked by One Platform before the adjustment was made.", |
+ "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", |
"items": { |
"$ref": "MetricValueSet" |
}, |
"type": "array" |
}, |
- "operationId": { |
- "description": "The same operation_id value used in the EndReconciliationRequest. Used for\nlogging and diagnostics purposes.", |
- "type": "string" |
- }, |
- "reconciliationErrors": { |
- "description": "Indicates the decision of the reconciliation end.", |
- "items": { |
- "$ref": "QuotaError" |
+ "labels": { |
+ "additionalProperties": { |
+ "type": "string" |
}, |
- "type": "array" |
+ "description": "Labels describing the operation.", |
+ "type": "object" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "EndReconciliationRequest": { |
+ "id": "EndReconciliationRequest", |
+ "properties": { |
+ "reconciliationOperation": { |
+ "$ref": "QuotaOperation", |
+ "description": "Operation that describes the quota reconciliation." |
}, |
"serviceConfigId": { |
- "description": "ID of the actual config used to process the request.", |
+ "description": "Specifies which version of service configuration should be used to process\nthe request. If unspecified or no matching version can be found, the latest\none will be used.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "Money": { |
- "description": "Represents an amount of money with its currency type.", |
- "id": "Money", |
+ "ReportInfo": { |
+ "id": "ReportInfo", |
"properties": { |
- "currencyCode": { |
- "description": "The 3-letter currency code defined in ISO 4217.", |
- "type": "string" |
- }, |
- "nanos": { |
- "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", |
- "format": "int32", |
- "type": "integer" |
+ "quotaInfo": { |
+ "$ref": "QuotaInfo", |
+ "description": "Quota usage info when processing the `Operation`." |
}, |
- "units": { |
- "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", |
- "format": "int64", |
+ "operationId": { |
+ "description": "The Operation.operation_id value from the request.", |
"type": "string" |
} |
}, |
"type": "object" |
}, |
- "ExplicitBuckets": { |
- "description": "Describing buckets with arbitrary user-provided width.", |
- "id": "ExplicitBuckets", |
+ "ReportResponse": { |
+ "description": "Response message for the Report method.", |
+ "id": "ReportResponse", |
"properties": { |
- "bounds": { |
- "description": "'bound' is a list of strictly increasing boundaries between\nbuckets. Note that a list of length N-1 defines N buckets because\nof fenceposting. See comments on `bucket_options` for details.\n\nThe i'th finite bucket covers the interval\n [bound[i-1], bound[i])\nwhere i ranges from 1 to bound_size() - 1. Note that there are no\nfinite buckets at all if 'bound' only contains a single element; in\nthat special case the single bound defines the boundary between the\nunderflow and overflow buckets.\n\nbucket number lower bound upper bound\n i == 0 (underflow) -inf bound[i]\n 0 < i < bound_size() bound[i-1] bound[i]\n i == bound_size() (overflow) bound[i-1] +inf", |
+ "serviceConfigId": { |
+ "description": "The actual config id used to process the request.", |
+ "type": "string" |
+ }, |
+ "reportErrors": { |
+ "description": "Partial failures, one for each `Operation` in the request that failed\nprocessing. There are three possible combinations of the RPC status:\n\n1. The combination of a successful RPC status and an empty `report_errors`\n list indicates a complete success where all `Operations` in the\n request are processed successfully.\n2. The combination of a successful RPC status and a non-empty\n `report_errors` list indicates a partial success where some\n `Operations` in the request succeeded. Each\n `Operation` that failed processing has a corresponding item\n in this list.\n3. A failed RPC status indicates a general non-deterministic failure.\n When this happens, it's impossible to know which of the\n 'Operations' in the request succeeded or failed.", |
"items": { |
- "format": "double", |
- "type": "number" |
+ "$ref": "ReportError" |
+ }, |
+ "type": "array" |
+ }, |
+ "reportInfos": { |
+ "description": "Quota usage for each quota release `Operation` request.\n\nFully or partially failed quota release request may or may not be present\nin `report_quota_info`. For example, a failed quota release request will\nhave the current quota usage info when precise quota library returns the\ninfo. A deadline exceeded quota request will not have quota usage info.\n\nIf there is no quota release request, report_quota_info will be empty.\n", |
+ "items": { |
+ "$ref": "ReportInfo" |
}, |
"type": "array" |
} |
}, |
"type": "object" |
}, |
- "Distribution": { |
- "description": "Distribution represents a frequency distribution of double-valued sample\npoints. It contains the size of the population of sample points plus\nadditional optional information:\n\n - the arithmetic mean of the samples\n - the minimum and maximum of the samples\n - the sum-squared-deviation of the samples, used to compute variance\n - a histogram of the values of the sample points", |
- "id": "Distribution", |
+ "Operation": { |
+ "description": "Represents information regarding an operation.", |
+ "id": "Operation", |
"properties": { |
- "explicitBuckets": { |
- "$ref": "ExplicitBuckets", |
- "description": "Buckets with arbitrary user-provided width." |
+ "labels": { |
+ "additionalProperties": { |
+ "type": "string" |
+ }, |
+ "description": "Labels describing the operation. Only the following labels are allowed:\n\n- Labels describing monitored resources as defined in\n the service configuration.\n- Default labels of metric values. When specified, labels defined in the\n metric value override these default.\n- The following labels defined by Google Cloud Platform:\n - `cloud.googleapis.com/location` describing the location where the\n operation happened,\n - `servicecontrol.googleapis.com/user_agent` describing the user agent\n of the API request,\n - `servicecontrol.googleapis.com/service_agent` describing the service\n used to handle the API request (e.g. ESP),\n - `servicecontrol.googleapis.com/platform` describing the platform\n where the API is served (e.g. GAE, GCE, GKE).", |
+ "type": "object" |
}, |
- "maximum": { |
- "description": "The maximum of the population of values. Ignored if `count` is zero.", |
- "format": "double", |
- "type": "number" |
+ "logEntries": { |
+ "description": "Represents information to be logged.", |
+ "items": { |
+ "$ref": "LogEntry" |
+ }, |
+ "type": "array" |
}, |
- "sumOfSquaredDeviation": { |
- "description": "The sum of squared deviations from the mean:\n Sum[i=1..count]((x_i - mean)^2)\nwhere each x_i is a sample values. If `count` is zero then this field\nmust be zero, otherwise validation of the request fails.", |
- "format": "double", |
- "type": "number" |
+ "userLabels": { |
+ "additionalProperties": { |
+ "type": "string" |
+ }, |
+ "description": "User defined labels for the resource that this operation is associated\nwith.", |
+ "type": "object" |
}, |
- "exponentialBuckets": { |
- "$ref": "ExponentialBuckets", |
- "description": "Buckets with exponentially growing width." |
+ "metricValueSets": { |
+ "description": "Represents information about this operation. Each MetricValueSet\ncorresponds to a metric defined in the service configuration.\nThe data type used in the MetricValueSet must agree with\nthe data type specified in the metric definition.\n\nWithin a single operation, it is not allowed to have more than one\nMetricValue instances that have the same metric names and identical\nlabel value combinations. If a request has such duplicated MetricValue\ninstances, the entire request is rejected with\nan invalid argument error.", |
+ "items": { |
+ "$ref": "MetricValueSet" |
+ }, |
+ "type": "array" |
}, |
- "linearBuckets": { |
- "$ref": "LinearBuckets", |
- "description": "Buckets with constant width." |
+ "quotaProperties": { |
+ "$ref": "QuotaProperties", |
+ "description": "Represents the properties needed for quota check. Applicable only if this\noperation is for a quota check request." |
}, |
- "minimum": { |
- "description": "The minimum of the population of values. Ignored if `count` is zero.", |
- "format": "double", |
- "type": "number" |
+ "consumerId": { |
+ "description": "Identity of the consumer who is using the service.\nThis field should be filled in for the operations initiated by a\nconsumer, but not for service-initiated operations that are\nnot related to a specific consumer.\n\nThis can be in one of the following formats:\n project:<project_id>,\n project_number:<project_number>,\n api_key:<api_key>.", |
+ "type": "string" |
}, |
- "count": { |
- "description": "The total number of samples in the distribution. Must be >= 0.", |
- "format": "int64", |
+ "operationId": { |
+ "description": "Identity of the operation. This must be unique within the scope of the\nservice that generated the operation. If the service calls\nCheck() and Report() on the same operation, the two calls should carry\nthe same id.\n\nUUID version 4 is recommended, though not required.\nIn scenarios where an operation is computed from existing information\nand an idempotent id is desirable for deduplication purpose, UUID version 5\nis recommended. See RFC 4122 for details.", |
"type": "string" |
}, |
- "mean": { |
- "description": "The arithmetic mean of the samples in the distribution. If `count` is\nzero then this field must be zero.", |
- "format": "double", |
- "type": "number" |
+ "operationName": { |
+ "description": "Fully qualified name of the operation. Reserved for future use.", |
+ "type": "string" |
}, |
- "bucketCounts": { |
- "description": "The number of samples in each histogram bucket. `bucket_counts` are\noptional. If present, they must sum to the `count` value.\n\nThe buckets are defined below in `bucket_option`. There are N buckets.\n`bucket_counts[0]` is the number of samples in the underflow bucket.\n`bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples\nin each of the finite buckets. And `bucket_counts[N] is the number\nof samples in the overflow bucket. See the comments of `bucket_option`\nbelow for more details.\n\nAny suffix of trailing zeros may be omitted.", |
- "items": { |
- "format": "int64", |
- "type": "string" |
- }, |
- "type": "array" |
+ "endTime": { |
+ "description": "End time of the operation.\nRequired when the operation is used in ServiceController.Report,\nbut optional when the operation is used in ServiceController.Check.", |
+ "format": "google-datetime", |
+ "type": "string" |
+ }, |
+ "startTime": { |
+ "description": "Required. Start time of the operation.", |
+ "format": "google-datetime", |
+ "type": "string" |
+ }, |
+ "importance": { |
+ "description": "DO NOT USE. This is an experimental field.", |
+ "enum": [ |
+ "LOW", |
+ "HIGH", |
+ "DEBUG" |
+ ], |
+ "enumDescriptions": [ |
+ "The API implementation may cache and aggregate the data.\nThe data may be lost when rare and unexpected system failures occur.", |
+ "The API implementation doesn't cache and aggregate the data.\nIf the method returns successfully, it's guaranteed that the data has\nbeen persisted in durable storage.", |
+ "In addition to the behavior described in HIGH, DEBUG enables\nadditional validation logic that is only useful during the onboarding\nprocess. This is only available to Google internal services and\nthe service must be whitelisted by chemist-dev@google.com in order\nto use this level." |
+ ], |
+ "type": "string" |
+ }, |
+ "resourceContainer": { |
+ "description": "The resource name of the parent of a resource in the resource hierarchy.\n\nThis can be in one of the following formats:\n - “projects/<project-id or project-number>”\n - “folders/<folder-id>”\n - “organizations/<organization-id>”", |
+ "type": "string" |
} |
}, |
"type": "object" |