on develop help sign in
Updating servicecontrol service definition
6cda3faBrendan Hay
gen/model/servicecontrol/v1/servicecontrol-api.json+130−4
@@ -26,7 +26,7 @@
26 "parameterOrder": [
26 "parameterOrder": [
27 "serviceName"
27 "serviceName"
28 ],
28 ],
29− "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\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).",
29+ "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).",
30 "request": {
30 "request": {
31 "$ref": "CheckRequest"
31 "$ref": "CheckRequest"
32 },
32 },
@@ -54,7 +54,7 @@
54 "parameterOrder": [
54 "parameterOrder": [
55 "serviceName"
55 "serviceName"
56 ],
56 ],
57− "description": "Reports operations to Google Service Control. It should be called\nafter the operation is completed.\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).",
57+ "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).",
58 "request": {
58 "request": {
59 "$ref": "ReportRequest"
59 "$ref": "ReportRequest"
60 },
60 },
@@ -96,6 +96,7 @@
96 "IP_ADDRESS_BLOCKED",
96 "IP_ADDRESS_BLOCKED",
97 "REFERER_BLOCKED",
97 "REFERER_BLOCKED",
98 "CLIENT_APP_BLOCKED",
98 "CLIENT_APP_BLOCKED",
99+ "API_TARGET_BLOCKED",
99 "API_KEY_INVALID",
100 "API_KEY_INVALID",
100 "API_KEY_EXPIRED",
101 "API_KEY_EXPIRED",
101 "API_KEY_NOT_FOUND",
102 "API_KEY_NOT_FOUND",
@@ -115,6 +116,7 @@
115 "The IP address of the consumer is invalid for the specific consumer\nproject.",
116 "The IP address of the consumer is invalid for the specific consumer\nproject.",
116 "The referer address of the consumer request is invalid for the specific\nconsumer project.",
117 "The referer address of the consumer request is invalid for the specific\nconsumer project.",
117 "The client application of the consumer request is invalid for the\nspecific consumer project.",
118 "The client application of the consumer request is invalid for the\nspecific consumer project.",
119+ "The API targeted by this request is invalid for the specified consumer\nproject.",
118 "The consumer's API key is invalid.",
120 "The consumer's API key is invalid.",
119 "The consumer's API Key has expired.",
121 "The consumer's API Key has expired.",
120 "The consumer's API Key was not found in config record.",
122 "The consumer's API Key was not found in config record.",
@@ -264,6 +266,10 @@
264 "operation": {
266 "operation": {
265 "description": "The operation to be checked.",
267 "description": "The operation to be checked.",
266 "$ref": "Operation"
268 "$ref": "Operation"
269+ },
270+ "serviceConfigId": {
271+ "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.",
272+ "type": "string"
267 }
273 }
268 },
274 },
269 "id": "CheckRequest"
275 "id": "CheckRequest"
@@ -351,6 +357,10 @@
351 "items": {
357 "items": {
352 "$ref": "Operation"
358 "$ref": "Operation"
353 }
359 }
360+ },
361+ "serviceConfigId": {
362+ "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.",
363+ "type": "string"
354 }
364 }
355 },
365 },
356 "id": "ReportRequest"
366 "id": "ReportRequest"
@@ -417,12 +427,27 @@
417 },
427 },
418 "id": "CheckResponse"
428 "id": "CheckResponse"
419 },
429 },
430+ "RequestMetadata": {
431+ "description": "Metadata about the request.",
432+ "type": "object",
433+ "properties": {
434+ "callerSuppliedUserAgent": {
435+ "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.",
436+ "type": "string"
437+ },
438+ "callerIp": {
439+ "description": "The IP address of the caller.",
440+ "type": "string"
441+ }
442+ },
443+ "id": "RequestMetadata"
444+ },
420 "ReportResponse": {
445 "ReportResponse": {
421 "description": "Response message for the Report method.",
446 "description": "Response message for the Report method.",
422 "type": "object",
447 "type": "object",
423 "properties": {
448 "properties": {
424 "reportErrors": {
449 "reportErrors": {
425− "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 complete failure where none of the\n `Operations` in the request succeeded.",
450+ "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.",
426 "type": "array",
451 "type": "array",
427 "items": {
452 "items": {
428 "$ref": "ReportError"
453 "$ref": "ReportError"
@@ -487,6 +512,73 @@
487 },
512 },
488 "id": "Distribution"
513 "id": "Distribution"
489 },
514 },
515+ "AuditLog": {
516+ "description": "Common audit log format for Google Cloud Platform API operations.\n\n",
517+ "type": "object",
518+ "properties": {
519+ "response": {
520+ "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.",
521+ "additionalProperties": {
522+ "description": "Properties of the object.",
523+ "type": "any"
524+ },
525+ "type": "object"
526+ },
527+ "status": {
528+ "description": "The status of the overall operation.",
529+ "$ref": "Status"
530+ },
531+ "request": {
532+ "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.",
533+ "additionalProperties": {
534+ "description": "Properties of the object.",
535+ "type": "any"
536+ },
537+ "type": "object"
538+ },
539+ "methodName": {
540+ "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\"",
541+ "type": "string"
542+ },
543+ "requestMetadata": {
544+ "description": "Metadata about the operation.",
545+ "$ref": "RequestMetadata"
546+ },
547+ "resourceName": {
548+ "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\"",
549+ "type": "string"
550+ },
551+ "serviceName": {
552+ "description": "The name of the API service performing the operation. For example,\n`\"datastore.googleapis.com\"`.",
553+ "type": "string"
554+ },
555+ "authenticationInfo": {
556+ "description": "Authentication information.",
557+ "$ref": "AuthenticationInfo"
558+ },
559+ "authorizationInfo": {
560+ "description": "Authorization information. If there are multiple\nresources or permissions involved, then there is\none AuthorizationInfo element for each {resource, permission} tuple.",
561+ "type": "array",
562+ "items": {
563+ "$ref": "AuthorizationInfo"
564+ }
565+ },
566+ "serviceData": {
567+ "description": "Other service-specific data about the request, response, and other\nactivities.",
568+ "additionalProperties": {
569+ "description": "Properties of the object. Contains field @type with type URL.",
570+ "type": "any"
571+ },
572+ "type": "object"
573+ },
574+ "numResponseItems": {
575+ "description": "The number of items returned from a List or Query API method,\nif applicable.",
576+ "type": "string",
577+ "format": "int64"
578+ }
579+ },
580+ "id": "AuditLog"
581+ },
490 "ExplicitBuckets": {
582 "ExplicitBuckets": {
491 "description": "Describing buckets with arbitrary user-provided width.",
583 "description": "Describing buckets with arbitrary user-provided width.",
492 "type": "object",
584 "type": "object",
@@ -502,6 +594,40 @@
502 },
594 },
503 "id": "ExplicitBuckets"
595 "id": "ExplicitBuckets"
504 },
596 },
597+ "AuthenticationInfo": {
598+ "description": "Authentication information for the operation.",
599+ "type": "object",
600+ "properties": {
601+ "authoritySelector": {
602+ "description": "The authority selector specified by the requestor, if any.\nIt is not guaranteed that the principal was allowed to use this authority.",
603+ "type": "string"
604+ },
605+ "principalEmail": {
606+ "description": "The email address of the authenticated user making the request.",
607+ "type": "string"
608+ }
609+ },
610+ "id": "AuthenticationInfo"
611+ },
612+ "AuthorizationInfo": {
613+ "description": "Authorization information for the operation.",
614+ "type": "object",
615+ "properties": {
616+ "granted": {
617+ "description": "Whether or not authorization for `resource` and `permission`\nwas granted.",
618+ "type": "boolean"
619+ },
620+ "permission": {
621+ "description": "The required IAM permission.",
622+ "type": "string"
623+ },
624+ "resource": {
625+ "description": "The resource being accessed, as a REST-style string. For example:\n\n bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID",
626+ "type": "string"
627+ }
628+ },
629+ "id": "AuthorizationInfo"
630+ },
505 "MetricValue": {
631 "MetricValue": {
506 "description": "Represents a single metric value.",
632 "description": "Represents a single metric value.",
507 "type": "object",
633 "type": "object",
@@ -549,7 +675,7 @@
549 "id": "MetricValue"
675 "id": "MetricValue"
550 }
676 }
551 },
677 },
552− "revision": "20160926",
678+ "revision": "20170123",
553 "basePath": "",
679 "basePath": "",
554 "icons": {
680 "icons": {
555 "x32": "http://www.google.com/images/icons/product/search-32.gif",
681 "x32": "http://www.google.com/images/icons/product/search-32.gif",