Index: discovery/googleapis/servicecontrol__v1.json |
diff --git a/discovery/googleapis/servicecontrol__v1.json b/discovery/googleapis/servicecontrol__v1.json |
index f08c305c59cfb6e83855cf0a86cdbe19a19a45ca..fcbf449ff58aef32cae062a1dacb219bf077dda7 100644 |
--- a/discovery/googleapis/servicecontrol__v1.json |
+++ b/discovery/googleapis/servicecontrol__v1.json |
@@ -28,6 +28,27 @@ |
"ownerDomain": "google.com", |
"ownerName": "Google", |
"parameters": { |
+ "oauth_token": { |
+ "description": "OAuth 2.0 token for the current user.", |
+ "location": "query", |
+ "type": "string" |
+ }, |
+ "bearer_token": { |
+ "description": "OAuth bearer token.", |
+ "location": "query", |
+ "type": "string" |
+ }, |
+ "upload_protocol": { |
+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", |
+ "location": "query", |
+ "type": "string" |
+ }, |
+ "prettyPrint": { |
+ "default": "true", |
+ "description": "Returns response with indentations and line breaks.", |
+ "location": "query", |
+ "type": "boolean" |
+ }, |
"uploadType": { |
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", |
"location": "query", |
@@ -38,6 +59,11 @@ |
"location": "query", |
"type": "string" |
}, |
+ "callback": { |
+ "description": "JSONP", |
+ "location": "query", |
+ "type": "string" |
+ }, |
"$.xgafv": { |
"description": "V1 error format.", |
"enum": [ |
@@ -51,11 +77,6 @@ |
"location": "query", |
"type": "string" |
}, |
- "callback": { |
- "description": "JSONP", |
- "location": "query", |
- "type": "string" |
- }, |
"alt": { |
"default": "json", |
"description": "Data format for response.", |
@@ -72,13 +93,13 @@ |
"location": "query", |
"type": "string" |
}, |
- "access_token": { |
- "description": "OAuth access token.", |
+ "key": { |
+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", |
"location": "query", |
"type": "string" |
}, |
- "key": { |
- "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", |
+ "access_token": { |
+ "description": "OAuth access token.", |
"location": "query", |
"type": "string" |
}, |
@@ -92,37 +113,16 @@ |
"description": "Pretty-print response.", |
"location": "query", |
"type": "boolean" |
- }, |
- "bearer_token": { |
- "description": "OAuth bearer token.", |
- "location": "query", |
- "type": "string" |
- }, |
- "oauth_token": { |
- "description": "OAuth 2.0 token for the current user.", |
- "location": "query", |
- "type": "string" |
- }, |
- "upload_protocol": { |
- "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", |
- "location": "query", |
- "type": "string" |
- }, |
- "prettyPrint": { |
- "default": "true", |
- "description": "Returns response with indentations and line breaks.", |
- "location": "query", |
- "type": "boolean" |
} |
}, |
"protocol": "rest", |
"resources": { |
"services": { |
"methods": { |
- "check": { |
- "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the `CheckRequest` has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
+ "report": { |
+ "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the `ReportRequest` has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
"httpMethod": "POST", |
- "id": "servicecontrol.services.check", |
+ "id": "servicecontrol.services.report", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -134,22 +134,22 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:check", |
+ "path": "v1/services/{serviceName}:report", |
"request": { |
- "$ref": "CheckRequest" |
+ "$ref": "ReportRequest" |
}, |
"response": { |
- "$ref": "CheckResponse" |
+ "$ref": "ReportResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
"https://www.googleapis.com/auth/servicecontrol" |
] |
}, |
- "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).\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.", |
+ "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).\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", |
+ "id": "servicecontrol.services.allocateQuota", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -161,22 +161,22 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:releaseQuota", |
+ "path": "v1/services/{serviceName}:allocateQuota", |
"request": { |
- "$ref": "ReleaseQuotaRequest" |
+ "$ref": "AllocateQuotaRequest" |
}, |
"response": { |
- "$ref": "ReleaseQuotaResponse" |
+ "$ref": "AllocateQuotaResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
"https://www.googleapis.com/auth/servicecontrol" |
] |
}, |
- "endReconciliation": { |
- "description": "Signals the quota controller that service ends the ongoing usage\nreconciliation.\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).", |
+ "startReconciliation": { |
+ "description": "Unlike rate quota, allocation quota does not get refilled periodically.\nSo, it is possible that the quota usage as seen by the service differs from\nwhat the One Platform considers the usage is. This is expected to happen\nonly rarely, but over time this can accumulate. Services can invoke\nStartReconciliation and EndReconciliation to correct this usage drift, as\ndescribed below:\n1. Service sends StartReconciliation with a timestamp in future for each\n metric that needs to be reconciled. The timestamp being in future allows\n to account for in-flight AllocateQuota and ReleaseQuota requests for the\n same metric.\n2. One Platform records this timestamp and starts tracking subsequent\n AllocateQuota and ReleaseQuota requests until EndReconciliation is\n called.\n3. At or after the time specified in the StartReconciliation, service\n sends EndReconciliation with the usage that needs to be reconciled to.\n4. One Platform adjusts its own record of usage for that metric to the\n value specified in EndReconciliation by taking in to account any\n allocation or release between StartReconciliation and EndReconciliation.\n\nSignals the quota controller that the service wants to perform a usage\nreconciliation as specified in the request.\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).", |
"httpMethod": "POST", |
- "id": "servicecontrol.services.endReconciliation", |
+ "id": "servicecontrol.services.startReconciliation", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -188,22 +188,22 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:endReconciliation", |
+ "path": "v1/services/{serviceName}:startReconciliation", |
"request": { |
- "$ref": "EndReconciliationRequest" |
+ "$ref": "StartReconciliationRequest" |
}, |
"response": { |
- "$ref": "EndReconciliationResponse" |
+ "$ref": "StartReconciliationResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
"https://www.googleapis.com/auth/servicecontrol" |
] |
}, |
- "report": { |
- "description": "Reports operation results to Google Service Control, such as logs and\nmetrics. It should be called after an operation is completed.\n\nIf feasible, the client should aggregate reporting data for up to 5\nseconds to reduce API traffic. Limiting aggregation to 5 seconds is to\nreduce data loss during client crashes. Clients should carefully choose\nthe aggregation time window to avoid data loss risk more than 0.01%\nfor business and compliance reasons.\n\nNOTE: the `ReportRequest` has the size limit of 1MB.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
+ "check": { |
+ "description": "Checks an operation with Google Service Control to decide whether\nthe given operation should proceed. It should be called before the\noperation is executed.\n\nIf feasible, the client should cache the check results and reuse them for\n60 seconds. In case of server errors, the client can rely on the cached\nresults for longer time.\n\nNOTE: the `CheckRequest` has the size limit of 64KB.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Google Cloud IAM](https://cloud.google.com/iam).", |
"httpMethod": "POST", |
- "id": "servicecontrol.services.report", |
+ "id": "servicecontrol.services.check", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -215,22 +215,22 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:report", |
+ "path": "v1/services/{serviceName}:check", |
"request": { |
- "$ref": "ReportRequest" |
+ "$ref": "CheckRequest" |
}, |
"response": { |
- "$ref": "ReportResponse" |
+ "$ref": "CheckResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
"https://www.googleapis.com/auth/servicecontrol" |
] |
}, |
- "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).\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.", |
+ "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).\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", |
+ "id": "servicecontrol.services.releaseQuota", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -242,22 +242,22 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:allocateQuota", |
+ "path": "v1/services/{serviceName}:releaseQuota", |
"request": { |
- "$ref": "AllocateQuotaRequest" |
+ "$ref": "ReleaseQuotaRequest" |
}, |
"response": { |
- "$ref": "AllocateQuotaResponse" |
+ "$ref": "ReleaseQuotaResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
"https://www.googleapis.com/auth/servicecontrol" |
] |
}, |
- "startReconciliation": { |
- "description": "Unlike rate quota, allocation quota does not get refilled periodically.\nSo, it is possible that the quota usage as seen by the service differs from\nwhat the One Platform considers the usage is. This is expected to happen\nonly rarely, but over time this can accumulate. Services can invoke\nStartReconciliation and EndReconciliation to correct this usage drift, as\ndescribed below:\n1. Service sends StartReconciliation with a timestamp in future for each\n metric that needs to be reconciled. The timestamp being in future allows\n to account for in-flight AllocateQuota and ReleaseQuota requests for the\n same metric.\n2. One Platform records this timestamp and starts tracking subsequent\n AllocateQuota and ReleaseQuota requests until EndReconciliation is\n called.\n3. At or after the time specified in the StartReconciliation, service\n sends EndReconciliation with the usage that needs to be reconciled to.\n4. One Platform adjusts its own record of usage for that metric to the\n value specified in EndReconciliation by taking in to account any\n allocation or release between StartReconciliation and EndReconciliation.\n\nSignals the quota controller that the service wants to perform a usage\nreconciliation as specified in the request.\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).", |
+ "endReconciliation": { |
+ "description": "Signals the quota controller that service ends the ongoing usage\nreconciliation.\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).", |
"httpMethod": "POST", |
- "id": "servicecontrol.services.startReconciliation", |
+ "id": "servicecontrol.services.endReconciliation", |
"parameterOrder": [ |
"serviceName" |
], |
@@ -269,12 +269,12 @@ |
"type": "string" |
} |
}, |
- "path": "v1/services/{serviceName}:startReconciliation", |
+ "path": "v1/services/{serviceName}:endReconciliation", |
"request": { |
- "$ref": "StartReconciliationRequest" |
+ "$ref": "EndReconciliationRequest" |
}, |
"response": { |
- "$ref": "StartReconciliationResponse" |
+ "$ref": "EndReconciliationResponse" |
}, |
"scopes": [ |
"https://www.googleapis.com/auth/cloud-platform", |
@@ -284,166 +284,9 @@ |
} |
} |
}, |
- "revision": "20170724", |
+ "revision": "20170813", |
"rootUrl": "https://servicecontrol.googleapis.com/", |
- "schemas": { |
- "Money": { |
- "description": "Represents an amount of money with its currency type.", |
- "id": "Money", |
- "properties": { |
- "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" |
- }, |
- "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" |
- }, |
- "currencyCode": { |
- "description": "The 3-letter currency code defined in ISO 4217.", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
- "EndReconciliationResponse": { |
- "id": "EndReconciliationResponse", |
- "properties": { |
- "quotaMetrics": { |
- "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" |
- }, |
- "type": "array" |
- }, |
- "reconciliationErrors": { |
- "description": "Indicates the decision of the reconciliation end.", |
- "items": { |
- "$ref": "QuotaError" |
- }, |
- "type": "array" |
- }, |
- "operationId": { |
- "description": "The same operation_id value used in the EndReconciliationRequest. Used for\nlogging and diagnostics purposes.", |
- "type": "string" |
- }, |
- "serviceConfigId": { |
- "description": "ID of the actual config used to process the request.", |
- "type": "string" |
- } |
- }, |
- "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", |
- "properties": { |
- "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." |
- }, |
- "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" |
- }, |
- "count": { |
- "description": "The total number of samples in the distribution. Must be >= 0.", |
- "format": "int64", |
- "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" |
- }, |
- "explicitBuckets": { |
- "$ref": "ExplicitBuckets", |
- "description": "Buckets with arbitrary user-provided width." |
- }, |
- "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." |
- } |
- }, |
- "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": { |
- "format": "double", |
- "type": "number" |
- }, |
- "type": "array" |
- } |
- }, |
- "type": "object" |
- }, |
- "ExponentialBuckets": { |
- "description": "Describing buckets with exponentially growing width.", |
- "id": "ExponentialBuckets", |
- "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" |
- }, |
- "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" |
- }, |
- "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.googleapis.com/projects/PROJECTID/datasets/DATASETID", |
- "type": "string" |
- }, |
- "granted": { |
- "description": "Whether or not authorization for `resource` and `permission`\nwas granted.", |
- "type": "boolean" |
- }, |
- "permission": { |
- "description": "The required IAM permission.", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
+ "schemas": { |
"StartReconciliationResponse": { |
"id": "StartReconciliationResponse", |
"properties": { |
@@ -506,6 +349,11 @@ |
"description": "Describing buckets with constant width.", |
"id": "LinearBuckets", |
"properties": { |
+ "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", |
@@ -515,11 +363,6 @@ |
"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" |
- }, |
- "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" |
@@ -529,7 +372,7 @@ |
"id": "AuthenticationInfo", |
"properties": { |
"principalEmail": { |
- "description": "The email address of the authenticated user making the request.", |
+ "description": "The email address of the authenticated user making the request.\nFor privacy reasons, the principal email address is redacted for all\nread-only operations that fail with a \"permission denied\" error.", |
"type": "string" |
}, |
"authoritySelector": { |
@@ -543,6 +386,13 @@ |
"description": "Response message for the AllocateQuota method.", |
"id": "AllocateQuotaResponse", |
"properties": { |
+ "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": "The same operation_id value used in the AllocateQuotaRequest. Used for\nlogging and diagnostics purposes.", |
"type": "string" |
@@ -557,13 +407,6 @@ |
"$ref": "QuotaError" |
}, |
"type": "array" |
- }, |
- "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" |
} |
}, |
"type": "object" |
@@ -583,6 +426,21 @@ |
}, |
"type": "object" |
}, |
+ "RequestMetadata": { |
+ "description": "Metadata about the request.", |
+ "id": "RequestMetadata", |
+ "properties": { |
+ "callerIp": { |
+ "description": "The IP address of the caller.\nFor caller from internet, this will be public IPv4 or IPv6 address.\nFor caller from GCE VM with external IP address, this will be the VM's\nexternal IP address. For caller from GCE VM without external IP address, if\nthe VM is in the same GCP organization (or project) as the accessed\nresource, `caller_ip` will be the GCE VM's internal IPv4 address, otherwise\nit will be redacted to \"gce-internal-ip\".\nSee https://cloud.google.com/compute/docs/vpc/ for more information.", |
+ "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.\nNOLINT", |
+ "type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
"QuotaError": { |
"id": "QuotaError", |
"properties": { |
@@ -633,21 +491,6 @@ |
}, |
"type": "object" |
}, |
- "RequestMetadata": { |
- "description": "Metadata about the request.", |
- "id": "RequestMetadata", |
- "properties": { |
- "callerIp": { |
- "description": "The IP address of the caller.\nFor caller from internet, this will be public IPv4 or IPv6 address.\nFor caller from GCE VM with external IP address, this will be the VM's\nexternal IP address. For caller from GCE VM without external IP address, if\nthe VM is in the same GCP organization (or project) as the accessed\nresource, `caller_ip` will be the GCE VM's internal IPv4 address, otherwise\nit will be redacted to \"gce-internal-ip\".\nSee https://cloud.google.com/compute/docs/vpc/ for more information.", |
- "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.\nNOLINT", |
- "type": "string" |
- } |
- }, |
- "type": "object" |
- }, |
"CheckInfo": { |
"id": "CheckInfo", |
"properties": { |
@@ -665,6 +508,37 @@ |
}, |
"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" |
+ }, |
+ "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", |
@@ -694,51 +568,20 @@ |
}, |
"type": "object" |
}, |
- "AllocateQuotaRequest": { |
- "description": "Request message for the AllocateQuota method.", |
- "id": "AllocateQuotaRequest", |
- "properties": { |
- "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" |
- }, |
- "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." |
- } |
- }, |
- "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": { |
- "metricName": { |
- "description": "The metric name defined in the service configuration.", |
- "type": "string" |
- }, |
"metricValues": { |
"description": "The values in this metric.", |
"items": { |
"$ref": "MetricValue" |
}, |
"type": "array" |
+ }, |
+ "metricName": { |
+ "description": "The metric name defined in the service configuration.", |
+ "type": "string" |
} |
}, |
"type": "object" |
@@ -761,13 +604,13 @@ |
"StartReconciliationRequest": { |
"id": "StartReconciliationRequest", |
"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" |
- }, |
"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" |
@@ -859,12 +702,19 @@ |
"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" |
+ }, |
"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.", |
+ "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.\n\nWe are not merging this field with 'quota_metrics' field because of the\ncomplexity of scaling in Chemist client code base. For simplicity, we will\nkeep this field for Castor (that scales quota usage) and 'quota_metrics'\nfor SuperQuota (that doesn't scale quota usage).\n", |
"type": "object" |
}, |
"quotaMetrics": { |
@@ -873,13 +723,6 @@ |
"$ref": "MetricValueSet" |
}, |
"type": "array" |
- }, |
- "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" |
} |
}, |
"type": "object" |
@@ -900,10 +743,6 @@ |
"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" |
- }, |
"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" |
@@ -915,6 +754,10 @@ |
"operation": { |
"$ref": "Operation", |
"description": "The operation to be checked." |
+ }, |
+ "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" |
} |
}, |
"type": "object" |
@@ -923,8 +766,23 @@ |
"description": "Represents information regarding a quota operation.", |
"id": "QuotaOperation", |
"properties": { |
+ "labels": { |
+ "additionalProperties": { |
+ "type": "string" |
+ }, |
+ "description": "Labels describing the operation.", |
+ "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.", |
+ "description": "Identity of the operation. This is expected to be unique within the scope\nof the service that generated the operation, and guarantees idempotency in\ncase of retries.\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" |
+ }, |
+ "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" |
}, |
"quotaMode": { |
@@ -943,27 +801,12 @@ |
], |
"type": "string" |
}, |
- "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" |
- }, |
"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.", |
"items": { |
"$ref": "MetricValueSet" |
}, |
"type": "array" |
- }, |
- "labels": { |
- "additionalProperties": { |
- "type": "string" |
- }, |
- "description": "Labels describing the operation.", |
- "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" |
} |
}, |
"type": "object" |
@@ -971,13 +814,13 @@ |
"EndReconciliationRequest": { |
"id": "EndReconciliationRequest", |
"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" |
- }, |
"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" |
@@ -996,10 +839,39 @@ |
}, |
"type": "object" |
}, |
+ "ReportResponse": { |
+ "description": "Response message for the Report method.", |
+ "id": "ReportResponse", |
+ "properties": { |
+ "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" |
+ }, |
+ "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.", |
+ "type": "string" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
"Operation": { |
"description": "Represents information regarding an operation.", |
"id": "Operation", |
"properties": { |
+ "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", |
@@ -1051,50 +923,21 @@ |
"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.", |
- "items": { |
- "$ref": "MetricValueSet" |
- }, |
- "type": "array" |
- }, |
- "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" |
- }, |
- "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" |
- } |
- }, |
- "type": "object" |
- }, |
- "ReportResponse": { |
- "description": "Response message for the Report method.", |
- "id": "ReportResponse", |
- "properties": { |
- "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" |
+ "type": "object" |
}, |
- "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", |
+ "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": "ReportInfo" |
+ "$ref": "MetricValueSet" |
}, |
"type": "array" |
}, |
- "serviceConfigId": { |
- "description": "The actual config id used to process the request.", |
+ "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" |
} |
}, |
@@ -1134,6 +977,15 @@ |
"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` that 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.\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": { |
+ "code": { |
+ "description": "The status code, which should be an enum value of google.rpc.Code.", |
+ "format": "int32", |
+ "type": "integer" |
+ }, |
+ "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" |
+ }, |
"details": { |
"description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", |
"items": { |
@@ -1144,15 +996,6 @@ |
"type": "object" |
}, |
"type": "array" |
- }, |
- "code": { |
- "description": "The status code, which should be an enum value of google.rpc.Code.", |
- "format": "int32", |
- "type": "integer" |
- }, |
- "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" |
@@ -1179,6 +1022,17 @@ |
"description": "Common audit log format for Google Cloud Platform API operations.\n\n", |
"id": "AuditLog", |
"properties": { |
+ "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" |
+ }, |
+ "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" |
+ }, |
"request": { |
"additionalProperties": { |
"description": "Properties of the object.", |
@@ -1187,10 +1041,6 @@ |
"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" |
}, |
- "requestMetadata": { |
- "$ref": "RequestMetadata", |
- "description": "Metadata about the operation." |
- }, |
"serviceData": { |
"additionalProperties": { |
"description": "Properties of the object. Contains field @type with type URL.", |
@@ -1199,6 +1049,10 @@ |
"description": "Other service-specific data about the request, response, and other\nactivities.", |
"type": "object" |
}, |
+ "requestMetadata": { |
+ "$ref": "RequestMetadata", |
+ "description": "Metadata about the operation." |
+ }, |
"numResponseItems": { |
"description": "The number of items returned from a List or Query API method,\nif applicable.", |
"format": "int64", |
@@ -1212,10 +1066,6 @@ |
"$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.", |
@@ -1224,20 +1074,13 @@ |
"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" |
}, |
- "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\"", |
+ "serviceName": { |
+ "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.", |
"type": "string" |
}, |
- "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\"", |
+ "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" |
- }, |
- "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" |
@@ -1319,20 +1162,6 @@ |
"description": "Represents a single metric value.", |
"id": "MetricValue", |
"properties": { |
- "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." |
@@ -1361,6 +1190,177 @@ |
"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" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "Money": { |
+ "description": "Represents an amount of money with its currency type.", |
+ "id": "Money", |
+ "properties": { |
+ "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" |
+ }, |
+ "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" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "EndReconciliationResponse": { |
+ "id": "EndReconciliationResponse", |
+ "properties": { |
+ "reconciliationErrors": { |
+ "description": "Indicates the decision of the reconciliation end.", |
+ "items": { |
+ "$ref": "QuotaError" |
+ }, |
+ "type": "array" |
+ }, |
+ "operationId": { |
+ "description": "The same operation_id value used in the EndReconciliationRequest. Used for\nlogging and diagnostics purposes.", |
+ "type": "string" |
+ }, |
+ "serviceConfigId": { |
+ "description": "ID of the actual config used to process the request.", |
+ "type": "string" |
+ }, |
+ "quotaMetrics": { |
+ "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" |
+ }, |
+ "type": "array" |
+ } |
+ }, |
+ "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": { |
+ "format": "double", |
+ "type": "number" |
+ }, |
+ "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", |
+ "properties": { |
+ "count": { |
+ "description": "The total number of samples in the distribution. Must be >= 0.", |
+ "format": "int64", |
+ "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" |
+ }, |
+ "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" |
+ }, |
+ "explicitBuckets": { |
+ "$ref": "ExplicitBuckets", |
+ "description": "Buckets with arbitrary user-provided width." |
+ }, |
+ "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." |
+ }, |
+ "linearBuckets": { |
+ "$ref": "LinearBuckets", |
+ "description": "Buckets with constant width." |
+ }, |
+ "minimum": { |
+ "description": "The minimum of the population of values. Ignored if `count` is zero.", |
+ "format": "double", |
+ "type": "number" |
+ } |
+ }, |
+ "type": "object" |
+ }, |
+ "ExponentialBuckets": { |
+ "description": "Describing buckets with exponentially growing width.", |
+ "id": "ExponentialBuckets", |
+ "properties": { |
+ "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" |
+ }, |
+ "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" |
+ }, |
+ "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" |
+ }, |
+ "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.googleapis.com/projects/PROJECTID/datasets/DATASETID", |
+ "type": "string" |
+ }, |
+ "granted": { |
+ "description": "Whether or not authorization for `resource` and `permission`\nwas granted.", |
+ "type": "boolean" |
+ }, |
+ "permission": { |
+ "description": "The required IAM permission.", |
+ "type": "string" |
} |
}, |
"type": "object" |