From f3cf829739edf40656ef75514f3d437d475d6506 Mon Sep 17 00:00:00 2001 From: Gaston Yelmini Date: Thu, 19 Jan 2023 23:13:38 -0300 Subject: [PATCH 1/2] fix(INT-6706): check service account key in validateInvocationConfig --- .../recording.har | 137 +++++ .../recording.har | 510 ------------------ .../recording.har | 36 +- .../recording.har | 264 +++++++++ .../recording.har | 264 +++++++++ .../recording.har | 262 --------- src/config.test.ts | 85 +++ src/config.ts | 22 + src/getStepStartStateExtraTests.test.ts | 89 ++- src/getStepStartStates.ts | 23 +- .../recording.har | 137 +++++ .../recording.har | 137 +++++ src/google-cloud/client.test.ts | 71 ++- src/google-cloud/client.ts | 16 +- src/google-cloud/utils/createErrorProps.ts | 4 +- src/index.test.ts | 190 ++----- src/index.ts | 2 + src/utils/parseServiceAccountKeyFile.ts | 7 +- test/recording.ts | 5 +- 19 files changed, 1232 insertions(+), 1029 deletions(-) create mode 100644 src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har delete mode 100644 src/__recordings__/getStepStartStatesExtraTests_2281574594/recording.har create mode 100644 src/__recordings__/validateInvocation-failure-invalidProjectId_3566742648/recording.har create mode 100644 src/__recordings__/validateInvocation-success_2655496164/recording.har delete mode 100644 src/__recordings__/validateStepStartStates_2991931469/recording.har create mode 100644 src/config.test.ts create mode 100644 src/config.ts create mode 100644 src/google-cloud/__recordings__/validateInvocation-failure-accountNotFound_2500377071/recording.har create mode 100644 src/google-cloud/__recordings__/validateInvocation-failure-invalidJWT_3375761893/recording.har diff --git a/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har b/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har new file mode 100644 index 00000000..c5f687d4 --- /dev/null +++ b/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har @@ -0,0 +1,137 @@ +{ + "log": { + "_recordingName": "getStepStartStateKeyValidation", + "creator": { + "comment": "persister:JupiterOneIntegationFSPersister", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "acea721c8193b51ced888cae721cc423", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 711, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "711" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip,deflate" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "www.googleapis.com" + } + ], + "headersSize": 300, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "[REDACTED]" + }, + "queryString": [], + "url": "https://www.googleapis.com/oauth2/v4/token" + }, + "response": { + "bodySize": 181, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 181, + "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Mon, 30 Jan 2023 13:47:19 GMT" + }, + { + "name": "server", + "value": "scaffolding on HTTPServer2" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 390, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2023-01-30T13:47:19.203Z", + "time": 120, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 120 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/__recordings__/getStepStartStatesExtraTests_2281574594/recording.har b/src/__recordings__/getStepStartStatesExtraTests_2281574594/recording.har deleted file mode 100644 index 26625edf..00000000 --- a/src/__recordings__/getStepStartStatesExtraTests_2281574594/recording.har +++ /dev/null @@ -1,510 +0,0 @@ -{ - "log": { - "_recordingName": "getStepStartStatesExtraTests", - "creator": { - "comment": "persister:JupiterOneIntegationFSPersister", - "name": "Polly.JS", - "version": "5.1.1" - }, - "entries": [ - { - "_id": "acea721c8193b51ced888cae721cc423", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 739, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "content-type", - "value": "application/x-www-form-urlencoded" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "content-length", - "value": "739" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip,deflate" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "www.googleapis.com" - } - ], - "headersSize": 300, - "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/x-www-form-urlencoded", - "params": [], - "text": "[REDACTED]" - }, - "queryString": [], - "url": "https://www.googleapis.com/oauth2/v4/token" - }, - "response": { - "bodySize": 634, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 634, - "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:56:18 GMT" - }, - { - "name": "server", - "value": "scaffolding on HTTPServer2" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 506, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:56:17.128Z", - "time": 1171, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 1171 - } - }, - { - "_id": "5cb9a544c354ba60db39c5aca83f9059", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "x-goog-api-client", - "value": "gdcl/5.0.2 gl-node/14.18.0 auth/7.1.1" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "google-api-nodejs-client/5.0.2 (gzip)" - }, - { - "_fromType": "array", - "name": "authorization", - "value": "[REDACTED]" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "serviceusage.googleapis.com" - } - ], - "headersSize": 1394, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "pageSize", - "value": "200" - }, - { - "name": "filter", - "value": "state:ENABLED" - } - ], - "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v3/services?pageSize=200&filter=state%3AENABLED" - }, - "response": { - "bodySize": 21160, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 21160, - "text": "{\"services\":[{\"name\":\"projects/167984947943/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to GCP services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerymigration.googleapis.com\",\"config\":{\"name\":\"bigquerymigration.googleapis.com\",\"title\":\"BigQuery Migration API\",\"documentation\":{\"summary\":\"The migration service, exposing apis for migration jobs operations, and agent management.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigtableadmin.googleapis.com\",\"config\":{\"name\":\"bigtableadmin.googleapis.com\",\"title\":\"Cloud Bigtable Admin API\",\"documentation\":{\"summary\":\"Administer your Cloud Bigtable tables and instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/billingbudgets.googleapis.com\",\"config\":{\"name\":\"billingbudgets.googleapis.com\",\"title\":\"Cloud Billing Budget API\",\"documentation\":{\"summary\":\"The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudapis.googleapis.com\",\"config\":{\"name\":\"cloudapis.googleapis.com\",\"title\":\"Google Cloud APIs\",\"documentation\":{\"summary\":\"This is a meta service for Google Cloud APIs for convenience. Enabling this service enables all commonly used Google Cloud APIs for the project. By default, it is enabled for all projects created through Google Cloud Console and Google Cloud SDK, and should be manually enabled for all other projects that intend to use Google Cloud APIs. Note: disabling this service has no effect on other services.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The cloud asset API manages the history and inventory of cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbilling.googleapis.com\",\"config\":{\"name\":\"cloudbilling.googleapis.com\",\"title\":\"Cloud Billing API\",\"documentation\":{\"summary\":\"Allows developers to manage billing for their Google Cloud Platform projects\\n programmatically.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudscheduler.googleapis.com\",\"config\":{\"name\":\"cloudscheduler.googleapis.com\",\"title\":\"Cloud Scheduler API\",\"documentation\":{\"summary\":\"Creates and manages jobs run on a regular recurring schedule.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/compute.googleapis.com\",\"config\":{\"name\":\"compute.googleapis.com\",\"title\":\"Compute Engine API\",\"documentation\":{\"summary\":\"Creates and runs virtual machines on Google Cloud Platform.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"compute.googleapis.com/VpcNetwork\",\"displayName\":\"VPC Network\",\"description\":\"VPC Network.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the VPC Network.\"},{\"key\":\"location\",\"description\":\"Location of the VPC Network, global always.\"},{\"key\":\"network_id\",\"description\":\"VPC Network resource ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/instances_per_vpc_network\",\"compute.googleapis.com/internal_lb_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_managed_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_protocol_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/ip_aliases_per_vpc_network\",\"compute.googleapis.com/psc_google_apis_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network\",\"compute.googleapis.com/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/subnet_ranges_per_vpc_network\"]},{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/usage\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc-control.googleapis.com\",\"config\":{\"name\":\"dataproc-control.googleapis.com\",\"title\":\"Cloud Dataproc Control API\",\"documentation\":{\"summary\":\"Manages internal resources for Google Cloud Dataproc.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc.googleapis.com\",\"config\":{\"name\":\"dataproc.googleapis.com\",\"title\":\"Cloud Dataproc API\",\"documentation\":{\"summary\":\"Manages Hadoop-based clusters and jobs on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"A node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" is supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/orgpolicy.googleapis.com\",\"config\":{\"name\":\"orgpolicy.googleapis.com\",\"title\":\"Organization Policy API\",\"documentation\":{\"summary\":\"The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/osconfig.googleapis.com\",\"config\":{\"name\":\"osconfig.googleapis.com\",\"title\":\"OS Config API\",\"documentation\":{\"summary\":\"OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"osconfig.googleapis.com/PatchJob\",\"displayName\":\"Patch Job\",\"description\":\"A patch job ran by VM Manager.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP project associated with the patch job.\"},{\"key\":\"location\",\"description\":\"The location that contains the patch job.\"},{\"key\":\"id\",\"description\":\"Id uniquely identifying the patch job.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"osconfig.googleapis.com/PatchJob\",\"metrics\":[\"osconfig.googleapis.com/patch/job/instance_state\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/oslogin.googleapis.com\",\"config\":{\"name\":\"oslogin.googleapis.com\",\"title\":\"Cloud OS Login API\",\"documentation\":{\"summary\":\"You can use OS Login to manage access to your VM instances using IAM roles.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/disk_based_swap\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/relative_start_time\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/disk_based_swap_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceconsumermanagement.googleapis.com\",\"config\":{\"name\":\"serviceconsumermanagement.googleapis.com\",\"title\":\"Service Consumer Management API\",\"documentation\":{\"summary\":\"Manages the service consumers of a Service Infrastructure service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:56:19 GMT" - }, - { - "name": "server", - "value": "ESF" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 483, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:56:18.313Z", - "time": 629, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 629 - } - }, - { - "_id": "acea721c8193b51ced888cae721cc423", - "_order": 1, - "cache": {}, - "request": { - "bodySize": 739, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "content-type", - "value": "application/x-www-form-urlencoded" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "content-length", - "value": "739" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip,deflate" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "www.googleapis.com" - } - ], - "headersSize": 300, - "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/x-www-form-urlencoded", - "params": [], - "text": "[REDACTED]" - }, - "queryString": [], - "url": "https://www.googleapis.com/oauth2/v4/token" - }, - "response": { - "bodySize": 579, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 579, - "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:56:19 GMT" - }, - { - "name": "server", - "value": "scaffolding on HTTPServer2" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 506, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:56:18.950Z", - "time": 118, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 118 - } - }, - { - "_id": "706b3dea63ae75e4b69dfc91ea51159d", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "x-goog-api-client", - "value": "gdcl/5.0.2 gl-node/14.18.0 auth/7.1.1" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "google-api-nodejs-client/5.0.2 (gzip)" - }, - { - "_fromType": "array", - "name": "authorization", - "value": "[REDACTED]" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "serviceusage.googleapis.com" - } - ], - "headersSize": 1398, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "pageSize", - "value": "200" - }, - { - "name": "filter", - "value": "state:ENABLED" - } - ], - "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-nested/services?pageSize=200&filter=state%3AENABLED" - }, - "response": { - "bodySize": 18753, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 18753, - "text": "{\"services\":[{\"name\":\"projects/270453338007/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to GCP services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudapis.googleapis.com\",\"config\":{\"name\":\"cloudapis.googleapis.com\",\"title\":\"Google Cloud APIs\",\"documentation\":{\"summary\":\"This is a meta service for Google Cloud APIs for convenience. Enabling this service enables all commonly used Google Cloud APIs for the project. By default, it is enabled for all projects created through Google Cloud Console and Google Cloud SDK, and should be manually enabled for all other projects that intend to use Google Cloud APIs. Note: disabling this service has no effect on other services.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The cloud asset API manages the history and inventory of cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/containerfilesystem.googleapis.com\",\"config\":{\"name\":\"containerfilesystem.googleapis.com\",\"title\":\"Container File System API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"A node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" is supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/disk_based_swap\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/relative_start_time\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/disk_based_swap_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"},{\"name\":\"projects/270453338007/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/270453338007\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:56:19 GMT" - }, - { - "name": "server", - "value": "ESF" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 483, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:56:19.072Z", - "time": 495, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 495 - } - } - ], - "pages": [], - "version": "1.2" - } -} diff --git a/src/__recordings__/getStepStartStates_2244155193/recording.har b/src/__recordings__/getStepStartStates_2244155193/recording.har index 6cc0a4ce..a4282e1e 100644 --- a/src/__recordings__/getStepStartStates_2244155193/recording.har +++ b/src/__recordings__/getStepStartStates_2244155193/recording.har @@ -62,11 +62,11 @@ "url": "https://www.googleapis.com/oauth2/v4/token" }, "response": { - "bodySize": 503, + "bodySize": 1255, "content": { "encoding": "utf-8", "mimeType": "application/json; charset=UTF-8", - "size": 503, + "size": 1255, "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" }, "cookies": [], @@ -81,7 +81,7 @@ }, { "name": "date", - "value": "Fri, 06 Jan 2023 04:50:04 GMT" + "value": "Mon, 30 Jan 2023 22:20:44 GMT" }, { "name": "server", @@ -105,21 +105,21 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { "name": "connection", "value": "close" } ], - "headersSize": 506, + "headersSize": 390, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2023-01-06T04:50:04.694Z", - "time": 202, + "startedDateTime": "2023-01-30T22:20:44.189Z", + "time": 144, "timings": { "blocked": -1, "connect": -1, @@ -127,7 +127,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 202 + "wait": 144 } }, { @@ -141,7 +141,7 @@ { "_fromType": "array", "name": "x-goog-api-client", - "value": "gdcl/5.0.2 gl-node/16.13.2 auth/7.1.1" + "value": "gdcl/5.0.2 gl-node/16.15.1 auth/7.1.1" }, { "_fromType": "array", @@ -189,12 +189,12 @@ "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v3/services?pageSize=200&filter=state%3AENABLED" }, "response": { - "bodySize": 18210, + "bodySize": 19156, "content": { "encoding": "utf-8", "mimeType": "application/json; charset=UTF-8", - "size": 18210, - "text": "{\"services\":[{\"name\":\"projects/167984947943/services/abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"config\":{\"name\":\"abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"title\":\"AbiliTec API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to GCP services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"accesscontextmanager.googleapis.com/Location\",\"displayName\":\"Access Context Manager Location\",\"description\":\"Access Context Manager Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The organization number of the policy, such as organizations/5678.\"},{\"key\":\"location\",\"description\":\"The location of the policy.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/exceeded\"]},{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/admin.googleapis.com\",\"config\":{\"name\":\"admin.googleapis.com\",\"title\":\"Admin SDK API\",\"documentation\":{\"summary\":\"Admin SDK lets administrators of enterprise domains to\\n view and manage resources like user, groups etc. It also provides\\n audit and usage reports of domain.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/autoscaling.googleapis.com\",\"config\":{\"name\":\"autoscaling.googleapis.com\",\"title\":\"Cloud Autoscaling API\",\"documentation\":{\"summary\":\"An API for the Cloud Autoscaling for consuming autoscaling signals.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerymigration.googleapis.com\",\"config\":{\"name\":\"bigquerymigration.googleapis.com\",\"title\":\"BigQuery Migration API\",\"documentation\":{\"summary\":\"The migration service, exposing apis for migration jobs operations, and agent management.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigtableadmin.googleapis.com\",\"config\":{\"name\":\"bigtableadmin.googleapis.com\",\"title\":\"Cloud Bigtable Admin API\",\"documentation\":{\"summary\":\"Administer your Cloud Bigtable tables and instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/billingbudgets.googleapis.com\",\"config\":{\"name\":\"billingbudgets.googleapis.com\",\"title\":\"Cloud Billing Budget API\",\"documentation\":{\"summary\":\"The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The cloud asset API manages the history and inventory of cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbilling.googleapis.com\",\"config\":{\"name\":\"cloudbilling.googleapis.com\",\"title\":\"Cloud Billing API\",\"documentation\":{\"summary\":\"Allows developers to manage billing for their Google Cloud Platform projects\\n programmatically.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudidentity.googleapis.com\",\"config\":{\"name\":\"cloudidentity.googleapis.com\",\"title\":\"Cloud Identity API\",\"documentation\":{\"summary\":\"API for provisioning and managing identity resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudscheduler.googleapis.com\",\"config\":{\"name\":\"cloudscheduler.googleapis.com\",\"title\":\"Cloud Scheduler API\",\"documentation\":{\"summary\":\"Creates and manages jobs run on a regular recurring schedule.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"api_service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/compute.googleapis.com\",\"config\":{\"name\":\"compute.googleapis.com\",\"title\":\"Compute Engine API\",\"documentation\":{\"summary\":\"Creates and runs virtual machines on Google Cloud Platform.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"compute.googleapis.com/VpcNetwork\",\"displayName\":\"VPC Network\",\"description\":\"VPC Network.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the VPC Network.\"},{\"key\":\"location\",\"description\":\"Location of the VPC Network, global always.\"},{\"key\":\"network_id\",\"description\":\"VPC Network resource ID.\"}],\"launchStage\":\"GA\"},{\"type\":\"compute.googleapis.com/Location\",\"displayName\":\"Compute Location\",\"description\":\"A location in the Compute API.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the Compute Location.\"},{\"key\":\"location\",\"description\":\"Location of resource.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/instances_per_vpc_network\",\"compute.googleapis.com/internal_lb_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_managed_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_protocol_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/ip_aliases_per_vpc_network\",\"compute.googleapis.com/psc_google_apis_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network\",\"compute.googleapis.com/quota/instances_per_peering_group/exceeded\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/exceeded\",\"compute.googleapis.com/quota/static_routes_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/subnet_ranges_per_vpc_network\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/global_dns/request_count\",\"compute.googleapis.com/quota/cpus_per_vm_family/exceeded\",\"compute.googleapis.com/quota/gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/exceeded\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/exceeded\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/quota/cpus_per_vm_family/limit\",\"compute.googleapis.com/quota/cpus_per_vm_family/usage\",\"compute.googleapis.com/quota/gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/limit\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/usage\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/limit\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/usage\"]},{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/quota/instances_per_peering_group/limit\",\"compute.googleapis.com/quota/instances_per_peering_group/usage\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/limit\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/usage\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/usage\",\"compute.googleapis.com/quota/static_routes_per_peering_group/limit\",\"compute.googleapis.com/quota/static_routes_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerfilesystem.googleapis.com\",\"config\":{\"name\":\"containerfilesystem.googleapis.com\",\"title\":\"Container File System API\",\"documentation\":{\"summary\":\"Stream images stored in Artifact Registry to GKE\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc-control.googleapis.com\",\"config\":{\"name\":\"dataproc-control.googleapis.com\",\"title\":\"Cloud Dataproc Control API\",\"documentation\":{\"summary\":\"Manages internal resources for Google Cloud Dataproc.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc.googleapis.com\",\"config\":{\"name\":\"dataproc.googleapis.com\",\"title\":\"Cloud Dataproc API\",\"documentation\":{\"summary\":\"Manages Hadoop-based clusters and jobs on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/eventarc.googleapis.com\",\"config\":{\"name\":\"eventarc.googleapis.com\",\"title\":\"Eventarc API\",\"documentation\":{\"summary\":\"Build event-driven applications on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"eventarc.googleapis.com/InternalTrigger\",\"displayName\":\"Eventarc Trigger (Internal)\",\"description\":\"An Eventarc Trigger, not externally visible, its corresponding metrics will be externally write-only.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location where the trigger is deployed, e.g. us-central1, global.\"},{\"key\":\"trigger_id\",\"description\":\"The ID of the trigger.\"},{\"key\":\"sender_id\",\"description\":\"A unique identifier for the entity sending the metric data.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"eventarc.googleapis.com/InternalTrigger\",\"metrics\":[\"eventarc.googleapis.com/internal/trigger/event_delivery_attempt_count\",\"eventarc.googleapis.com/internal/trigger/event_delivery_latencies\",\"eventarc.googleapis.com/internal/trigger/underlying_event_delivery_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/groupssettings.googleapis.com\",\"config\":{\"name\":\"groupssettings.googleapis.com\",\"title\":\"Groups Settings API\",\"documentation\":{\"summary\":\"The Groups Settings API allows domain administrators to view and manage\\n access levels and advanced settings for a group.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\",\"logging.googleapis.com/billing/stored_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"Node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource that the metric ingestion was associated with, unless it was 'global', in which case this will be the cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" and \\\"cluster\\\" are supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/orgpolicy.googleapis.com\",\"config\":{\"name\":\"orgpolicy.googleapis.com\",\"title\":\"Organization Policy API\",\"documentation\":{\"summary\":\"The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/osconfig.googleapis.com\",\"config\":{\"name\":\"osconfig.googleapis.com\",\"title\":\"OS Config API\",\"documentation\":{\"summary\":\"OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"osconfig.googleapis.com/PatchJob\",\"displayName\":\"Patch Job\",\"description\":\"A patch job ran by VM Manager.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP project associated with the patch job.\"},{\"key\":\"location\",\"description\":\"The location that contains the patch job.\"},{\"key\":\"id\",\"description\":\"Id uniquely identifying the patch job.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"osconfig.googleapis.com/PatchJob\",\"metrics\":[\"osconfig.googleapis.com/patch/job/instance_state\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/oslogin.googleapis.com\",\"config\":{\"name\":\"oslogin.googleapis.com\",\"title\":\"Cloud OS Login API\",\"documentation\":{\"summary\":\"You can use OS Login to manage access to your VM instances using IAM roles.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/recommender.googleapis.com\",\"config\":{\"name\":\"recommender.googleapis.com\",\"title\":\"Recommender API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"GA\"},{\"type\":\"redis.googleapis.com/RedisCluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/RedisClusterNode\",\"displayName\":\"Cloud Memorystore Cluster Redis Node\",\"description\":\"A Redis node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a Redis node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/RedisClusterProxyNode\",\"displayName\":\"Cloud Memorystore Cluster Proxy Node\",\"description\":\"A proxy node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a proxy node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/InternalCluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalRedisNode\",\"displayName\":\"Cloud Memorystore Cluster Redis Node\",\"description\":\"A Redis node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a Redis node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalProxyNode\",\"displayName\":\"Cloud Memorystore Cluster Proxy Node\",\"description\":\"A proxy node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a proxy node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/Cluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The ID of the managed cluster.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by Google to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/cloud/cmek/operation_attempts\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/relative_start_time\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/stats/memory/client_output_buffer_oom_evictions\",\"redis.googleapis.com/envoyproxy/upstream/command_latencies\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_start_latencies\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_end_latencies\",\"redis.googleapis.com/maintenance/policy_enabled\",\"redis.googleapis.com/maintenance/reschedule_attempts\",\"redis.googleapis.com/vm/zone\",\"redis.googleapis.com/cloud/mem_store/zonal_stockout_count\",\"redis.googleapis.com/availability/instance_probes_ilb_count\",\"redis.googleapis.com/cloud/mem_store/self_service_update_attempts_count\",\"redis.googleapis.com/stats/cpu_main_thread\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisClusterProxyNode\",\"metrics\":[\"redis.googleapis.com/cluster/envoy/cluster/membership_change_count\",\"redis.googleapis.com/cluster/envoy/cluster/membership_healthy\",\"redis.googleapis.com/cluster/envoy/cluster/membership_total\",\"redis.googleapis.com/cluster/envoy/cluster/update_attempt_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_empty_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_failure_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_no_rebuild_count\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_commands/upstream_rq_times\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_cx_active\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_cx_total_count\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_rq_total_count\",\"redis.googleapis.com/cluster/envoy/http/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/http/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/listener/http/downstream_rq_count\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_active\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_lengths\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_total_count\",\"redis.googleapis.com/cluster/envoy/redis/command/error_count\",\"redis.googleapis.com/cluster/envoy/redis/command/latencies\",\"redis.googleapis.com/cluster/envoy/redis/command/success_count\",\"redis.googleapis.com/cluster/envoy/redis/command/total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_protocol_error_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_rx_bytes_buffered\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_tx_bytes_buffered\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_rq_active\",\"redis.googleapis.com/cluster/envoy/redis/splitter/invalid_request_count\",\"redis.googleapis.com/cluster/envoy/redis/splitter/unsupported_command_count\",\"redis.googleapis.com/cluster/envoy/server/concurrency\",\"redis.googleapis.com/cluster/envoy/server/initialization_times\",\"redis.googleapis.com/cluster/envoy/server/state\",\"redis.googleapis.com/cluster/envoy/server/total_connections\",\"redis.googleapis.com/cluster/envoy/server/uptime\",\"redis.googleapis.com/cluster/proxy_operation_agent/accepted_config_version\",\"redis.googleapis.com/cluster/proxy_operation_agent/applied_config_version\",\"redis.googleapis.com/cluster/config_processor/total_config_process_count\",\"redis.googleapis.com/cluster/config_processor/config_process_failure_count\",\"redis.googleapis.com/cluster/config_processor/config_process_latencies\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/accepted_config_version\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/applied_config_version\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/config_process_latencies\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/server_latencies\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisClusterNode\",\"metrics\":[\"redis.googleapis.com/cluster/redis/clients/recent_max_output_buffer\",\"redis.googleapis.com/cluster/redis/clients/connected\",\"redis.googleapis.com/cluster/redis/commands/calls\",\"redis.googleapis.com/cluster/redis/commands/usec\",\"redis.googleapis.com/cluster/redis/keyspace/keys\",\"redis.googleapis.com/cluster/redis/keyspace/avg_ttl\",\"redis.googleapis.com/cluster/redis/replication/role\",\"redis.googleapis.com/cluster/redis/replication/primary_repl_offset\",\"redis.googleapis.com/cluster/redis/stats/evicted_keys\",\"redis.googleapis.com/cluster/redis/stats/keyspace_hits\",\"redis.googleapis.com/cluster/redis/stats/keyspace_misses\",\"redis.googleapis.com/cluster/redis/stats/memory/usage\",\"redis.googleapis.com/cluster/redis/stats/memory/usage_rss\",\"redis.googleapis.com/cluster/redis/stats/memory/maxmemory\",\"redis.googleapis.com/cluster/redis/stats/total_net_input_bytes\",\"redis.googleapis.com/cluster/redis/stats/total_net_output_bytes\",\"redis.googleapis.com/cluster/redis/server/redis_version\",\"redis.googleapis.com/cluster/redis/server/uptime\",\"redis.googleapis.com/cluster/redis_operation_agent/api_execution_status\",\"redis.googleapis.com/cluster/redis_operation_agent/api_execution_latency\",\"redis.googleapis.com/cluster/redis_operation_agent/api_step_execution_status\",\"redis.googleapis.com/cluster/redis_operation_agent/api_step_execution_latency\",\"redis.googleapis.com/cluster/redis_operation_agent/cp_execution_latency\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisCluster\",\"metrics\":[\"redis.googleapis.com/cluster/control_plane/function_latencies\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalProxyNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_change_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_healthy\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_total\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_attempt_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_empty_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_failure_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_no_rebuild_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_commands/upstream_rq_times\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_rq_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/http/downstream_rq_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_lengths\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/latencies\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/success_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_protocol_error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_rq_active\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/invalid_request_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/unsupported_command_count\",\"redis.googleapis.com/internal/cluster/envoy/server/concurrency\",\"redis.googleapis.com/internal/cluster/envoy/server/initialization_times\",\"redis.googleapis.com/internal/cluster/envoy/server/state\",\"redis.googleapis.com/internal/cluster/envoy/server/total_connections\",\"redis.googleapis.com/internal/cluster/envoy/server/uptime\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/accepted_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/applied_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/config_process_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/server_latencies\",\"redis.googleapis.com/internal/cluster/envoy/server/days_until_first_cert_expiring\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_time\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/handshake_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/connection_error_count\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/secret_manager_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/latest_secret_version_id\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/invalid_secret\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalRedisNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/redis/clients/max_input_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/max_output_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/blocked\",\"redis.googleapis.com/internal/cluster/redis/clients/connected\",\"redis.googleapis.com/internal/cluster/redis/cmd/call_count\",\"redis.googleapis.com/internal/cluster/redis/cmd/usec_count\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_per_second\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_count\",\"redis.googleapis.com/internal/cluster/redis/connections/received_count\",\"redis.googleapis.com/internal/cluster/redis/connections/rejected_count\",\"redis.googleapis.com/internal/cluster/redis/cpu/time\",\"redis.googleapis.com/internal/cluster/redis/database/avg_ttl\",\"redis.googleapis.com/internal/cluster/redis/database/keys\",\"redis.googleapis.com/internal/cluster/redis/database/keys_with_expiration\",\"redis.googleapis.com/internal/cluster/redis/fork/latest_fork\",\"redis.googleapis.com/internal/cluster/redis/keys/evicted_count\",\"redis.googleapis.com/internal/cluster/redis/keys/expired_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/hit_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/miss_count\",\"redis.googleapis.com/internal/cluster/redis/memory/fragmentation_ratio\",\"redis.googleapis.com/internal/cluster/redis/memory/lua\",\"redis.googleapis.com/internal/cluster/redis/memory/maxmemory\",\"redis.googleapis.com/internal/cluster/redis/memory/peak\",\"redis.googleapis.com/internal/cluster/redis/memory/rss\",\"redis.googleapis.com/internal/cluster/redis/memory/used\",\"redis.googleapis.com/internal/cluster/redis/network/received_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/network/sent_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save_count\",\"redis.googleapis.com/internal/cluster/redis/replica/connected\",\"redis.googleapis.com/internal/cluster/redis/replication/role\",\"redis.googleapis.com/internal/cluster/redis/replication/backlog_first_byte_offset\",\"redis.googleapis.com/internal/cluster/redis/replication/offset\",\"redis.googleapis.com/internal/cluster/redis/server/redis_version\",\"redis.googleapis.com/internal/cluster/redis/server/uptime\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_step_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/cp_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save\",\"redis.googleapis.com/internal/cluster/redis/server/owned_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/completed_migration_count\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/in_migration_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/queued_migration_slots\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalCluster\",\"metrics\":[\"redis.googleapis.com/internal/cluster/control_plane/function_latencies\",\"redis.googleapis.com/internal/cluster/tier\",\"redis.googleapis.com/internal/cluster/control_plane/update_function_latencies\",\"redis.googleapis.com/internal/cluster/security/auth_enabled\",\"redis.googleapis.com/internal/cluster/consumer_project\",\"redis.googleapis.com/internal/cluster/slo/min_expected_proxy_vms\",\"redis.googleapis.com/internal/cluster/slo/min_expected_replica_nodes\",\"redis.googleapis.com/internal/cluster/slo/cluster_state\",\"redis.googleapis.com/internal/cluster/memory/memory_size\",\"redis.googleapis.com/internal/cluster/security/tls_enabled\"]},{\"monitoredResource\":\"redis.googleapis.com/Cluster\",\"metrics\":[\"redis.googleapis.com/cluster/redis/memory/usages\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/secretmanager.googleapis.com\",\"config\":{\"name\":\"secretmanager.googleapis.com\",\"title\":\"Secret Manager API\",\"documentation\":{\"summary\":\"Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceconsumermanagement.googleapis.com\",\"config\":{\"name\":\"serviceconsumermanagement.googleapis.com\",\"title\":\"Service Consumer Management API\",\"documentation\":{\"summary\":\"Manages the service consumers of a Service Infrastructure service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sourcerepo.googleapis.com\",\"config\":{\"name\":\"sourcerepo.googleapis.com\",\"title\":\"Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Accesses source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sts.googleapis.com\",\"config\":{\"name\":\"sts.googleapis.com\",\"title\":\"Security Token Service API\",\"documentation\":{\"summary\":\"The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/websecurityscanner.googleapis.com\",\"config\":{\"name\":\"websecurityscanner.googleapis.com\",\"title\":\"Web Security Scanner API\",\"documentation\":{\"summary\":\"Scans your Compute and App Engine apps for common web vulnerabilities.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"}]}" + "size": 19156, + "text": "{\"services\":[{\"name\":\"projects/167984947943/services/abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"config\":{\"name\":\"abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"title\":\"AbiliTec API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to GCP services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"accesscontextmanager.googleapis.com/Location\",\"displayName\":\"Access Context Manager Location\",\"description\":\"Access Context Manager Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The organization number of the policy, such as organizations/5678.\"},{\"key\":\"location\",\"description\":\"The location of the policy.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/exceeded\"]},{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/admin.googleapis.com\",\"config\":{\"name\":\"admin.googleapis.com\",\"title\":\"Admin SDK API\",\"documentation\":{\"summary\":\"Admin SDK lets administrators of enterprise domains to\\n view and manage resources like user, groups etc. It also provides\\n audit and usage reports of domain.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apikeys.googleapis.com\",\"config\":{\"name\":\"apikeys.googleapis.com\",\"title\":\"API Keys API\",\"documentation\":{\"summary\":\"Manages the API keys associated with developer projects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/autoscaling.googleapis.com\",\"config\":{\"name\":\"autoscaling.googleapis.com\",\"title\":\"Cloud Autoscaling API\",\"documentation\":{\"summary\":\"An API for the Cloud Autoscaling for consuming autoscaling signals.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"bigquery.googleapis.com/Table\",\"displayName\":\"BigQuery Table Resource.\",\"description\":\"BigQuery Table Resource.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP resource container associated with this resource, such as \\\"my-project\\\" or \\\"organizations/123”.\"},{\"key\":\"location\",\"description\":\"The cloud location of the BigQuery table.\"},{\"key\":\"table_reference\",\"description\":\"The table reference in the format of project_id:dataset_id.table_id for the BigQuery table.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"bigquery.googleapis.com/Table\",\"metrics\":[\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/exceeded\"]},{\"monitoredResource\":\"bigquery.googleapis.com/Table\",\"metrics\":[\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerymigration.googleapis.com\",\"config\":{\"name\":\"bigquerymigration.googleapis.com\",\"title\":\"BigQuery Migration API\",\"documentation\":{\"summary\":\"The migration service, exposing apis for migration jobs operations, and agent management.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigtableadmin.googleapis.com\",\"config\":{\"name\":\"bigtableadmin.googleapis.com\",\"title\":\"Cloud Bigtable Admin API\",\"documentation\":{\"summary\":\"Administer your Cloud Bigtable tables and instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/billingbudgets.googleapis.com\",\"config\":{\"name\":\"billingbudgets.googleapis.com\",\"title\":\"Cloud Billing Budget API\",\"documentation\":{\"summary\":\"The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The Cloud Asset API manages the history and inventory of Google Cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbilling.googleapis.com\",\"config\":{\"name\":\"cloudbilling.googleapis.com\",\"title\":\"Cloud Billing API\",\"documentation\":{\"summary\":\"Allows developers to manage billing for their Google Cloud Platform projects\\n programmatically.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudidentity.googleapis.com\",\"config\":{\"name\":\"cloudidentity.googleapis.com\",\"title\":\"Cloud Identity API\",\"documentation\":{\"summary\":\"API for provisioning and managing identity resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudscheduler.googleapis.com\",\"config\":{\"name\":\"cloudscheduler.googleapis.com\",\"title\":\"Cloud Scheduler API\",\"documentation\":{\"summary\":\"Creates and manages jobs run on a regular recurring schedule.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"api_service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/compute.googleapis.com\",\"config\":{\"name\":\"compute.googleapis.com\",\"title\":\"Compute Engine API\",\"documentation\":{\"summary\":\"Creates and runs virtual machines on Google Cloud Platform.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"compute.googleapis.com/VpcNetwork\",\"displayName\":\"VPC Network\",\"description\":\"VPC Network.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the VPC Network.\"},{\"key\":\"location\",\"description\":\"Location of the VPC Network, global always.\"},{\"key\":\"network_id\",\"description\":\"VPC Network resource ID.\"}],\"launchStage\":\"GA\"},{\"type\":\"compute.googleapis.com/Location\",\"displayName\":\"Compute Location\",\"description\":\"A location in the Compute API.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the Compute Location.\"},{\"key\":\"location\",\"description\":\"Location of resource.\"}],\"launchStage\":\"BETA\"},{\"type\":\"compute.googleapis.com/Reservation\",\"displayName\":\"Reservation\",\"description\":\"Monitored resource representing a reservation.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP container (e.g. project number) associated with the reservation.\"},{\"key\":\"location\",\"description\":\"The zone that contains the reservation.\"},{\"key\":\"reservation_id\",\"description\":\"Reservation resource ID.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/instances_per_vpc_network\",\"compute.googleapis.com/internal_lb_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_managed_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_protocol_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/ip_aliases_per_vpc_network\",\"compute.googleapis.com/psc_google_apis_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network\",\"compute.googleapis.com/quota/instances_per_peering_group/exceeded\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/exceeded\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/static_routes_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/subnet_ranges_per_vpc_network\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/global_dns/request_count\",\"compute.googleapis.com/local_ssd_total_storage_per_vm_family\",\"compute.googleapis.com/quota/cpus_per_vm_family/exceeded\",\"compute.googleapis.com/quota/gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/exceeded\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/exceeded\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/quota/cpus_per_vm_family/limit\",\"compute.googleapis.com/quota/cpus_per_vm_family/usage\",\"compute.googleapis.com/quota/gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/limit\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/usage\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/limit\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/usage\"]},{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/quota/instances_per_peering_group/limit\",\"compute.googleapis.com/quota/instances_per_peering_group/usage\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/limit\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/usage\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/usage\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/limit\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/usage\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/limit\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/usage\",\"compute.googleapis.com/quota/static_routes_per_peering_group/limit\",\"compute.googleapis.com/quota/static_routes_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\"]},{\"monitoredResource\":\"compute.googleapis.com/Reservation\",\"metrics\":[\"compute.googleapis.com/reservation/reserved\",\"compute.googleapis.com/reservation/assured\",\"compute.googleapis.com/reservation/used\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerfilesystem.googleapis.com\",\"config\":{\"name\":\"containerfilesystem.googleapis.com\",\"title\":\"Container File System API\",\"documentation\":{\"summary\":\"Stream images stored in Artifact Registry to GKE\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerscanning.googleapis.com\",\"config\":{\"name\":\"containerscanning.googleapis.com\",\"title\":\"Container Scanning API\",\"documentation\":{\"summary\":\"A service to scan containers for vulnerabilities.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc-control.googleapis.com\",\"config\":{\"name\":\"dataproc-control.googleapis.com\",\"title\":\"Cloud Dataproc Control API\",\"documentation\":{\"summary\":\"Manages internal resources for Google Cloud Dataproc.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc.googleapis.com\",\"config\":{\"name\":\"dataproc.googleapis.com\",\"title\":\"Cloud Dataproc API\",\"documentation\":{\"summary\":\"Manages Hadoop-based clusters and jobs on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/eventarc.googleapis.com\",\"config\":{\"name\":\"eventarc.googleapis.com\",\"title\":\"Eventarc API\",\"documentation\":{\"summary\":\"Build event-driven applications on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"eventarc.googleapis.com/InternalTrigger\",\"displayName\":\"Eventarc Trigger (Internal)\",\"description\":\"An Eventarc Trigger, not externally visible, its corresponding metrics will be externally write-only.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location where the trigger is deployed, e.g. us-central1, global.\"},{\"key\":\"trigger_id\",\"description\":\"The ID of the trigger.\"},{\"key\":\"sender_id\",\"description\":\"A unique identifier for the entity sending the metric data.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"eventarc.googleapis.com/InternalTrigger\",\"metrics\":[\"eventarc.googleapis.com/internal/trigger/event_delivery_attempt_count\",\"eventarc.googleapis.com/internal/trigger/event_delivery_latencies\",\"eventarc.googleapis.com/internal/trigger/underlying_event_delivery_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/groupssettings.googleapis.com\",\"config\":{\"name\":\"groupssettings.googleapis.com\",\"title\":\"Groups Settings API\",\"documentation\":{\"summary\":\"The Groups Settings API allows domain administrators to view and manage\\n access levels and advanced settings for a group.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\",\"logging.googleapis.com/billing/stored_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"Node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource that the metric ingestion was associated with, unless it was 'global', in which case this will be the cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" and \\\"cluster\\\" are supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/orgpolicy.googleapis.com\",\"config\":{\"name\":\"orgpolicy.googleapis.com\",\"title\":\"Organization Policy API\",\"documentation\":{\"summary\":\"The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/osconfig.googleapis.com\",\"config\":{\"name\":\"osconfig.googleapis.com\",\"title\":\"OS Config API\",\"documentation\":{\"summary\":\"OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"osconfig.googleapis.com/PatchJob\",\"displayName\":\"Patch Job\",\"description\":\"A patch job ran by VM Manager.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP project associated with the patch job.\"},{\"key\":\"location\",\"description\":\"The location that contains the patch job.\"},{\"key\":\"id\",\"description\":\"Id uniquely identifying the patch job.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"osconfig.googleapis.com/PatchJob\",\"metrics\":[\"osconfig.googleapis.com/patch/job/instance_state\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/oslogin.googleapis.com\",\"config\":{\"name\":\"oslogin.googleapis.com\",\"title\":\"Cloud OS Login API\",\"documentation\":{\"summary\":\"You can use OS Login to manage access to your VM instances using IAM roles.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/recommender.googleapis.com\",\"config\":{\"name\":\"recommender.googleapis.com\",\"title\":\"Recommender API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"GA\"},{\"type\":\"redis.googleapis.com/RedisCluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/RedisClusterNode\",\"displayName\":\"Cloud Memorystore Cluster Redis Node\",\"description\":\"A Redis node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a Redis node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/RedisClusterProxyNode\",\"displayName\":\"Cloud Memorystore Cluster Proxy Node\",\"description\":\"A proxy node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a proxy node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/InternalCluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalRedisNode\",\"displayName\":\"Cloud Memorystore Cluster Redis Node\",\"description\":\"A Redis node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a Redis node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalProxyNode\",\"displayName\":\"Cloud Memorystore Cluster Proxy Node\",\"description\":\"A proxy node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a proxy node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/Cluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The ID of the managed cluster.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by Google to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/cloud/cmek/operation_attempts\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/relative_start_time\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/stats/memory/client_output_buffer_oom_evictions\",\"redis.googleapis.com/envoyproxy/upstream/command_latencies\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_start_latencies\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_end_latencies\",\"redis.googleapis.com/maintenance/policy_enabled\",\"redis.googleapis.com/maintenance/reschedule_attempts\",\"redis.googleapis.com/vm/zone\",\"redis.googleapis.com/cloud/mem_store/zonal_stockout_count\",\"redis.googleapis.com/availability/instance_probes_ilb_count\",\"redis.googleapis.com/cloud/mem_store/self_service_update_attempts_count\",\"redis.googleapis.com/stats/cpu_main_thread\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisClusterProxyNode\",\"metrics\":[\"redis.googleapis.com/cluster/envoy/cluster/membership_change_count\",\"redis.googleapis.com/cluster/envoy/cluster/membership_healthy\",\"redis.googleapis.com/cluster/envoy/cluster/membership_total\",\"redis.googleapis.com/cluster/envoy/cluster/update_attempt_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_empty_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_failure_count\",\"redis.googleapis.com/cluster/envoy/cluster/update_no_rebuild_count\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_commands/upstream_rq_times\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_cx_active\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_cx_total_count\",\"redis.googleapis.com/cluster/envoy/cluster/upstream_rq_total_count\",\"redis.googleapis.com/cluster/envoy/http/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/http/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/listener/http/downstream_rq_count\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_active\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_lengths\",\"redis.googleapis.com/cluster/envoy/listener/downstream_cx_total_count\",\"redis.googleapis.com/cluster/envoy/redis/command/error_count\",\"redis.googleapis.com/cluster/envoy/redis/command/latencies\",\"redis.googleapis.com/cluster/envoy/redis/command/success_count\",\"redis.googleapis.com/cluster/envoy/redis/command/total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_protocol_error_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_rx_bytes_buffered\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_tx_bytes_buffered\",\"redis.googleapis.com/cluster/envoy/redis/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/cluster/envoy/redis/downstream_rq_active\",\"redis.googleapis.com/cluster/envoy/redis/splitter/invalid_request_count\",\"redis.googleapis.com/cluster/envoy/redis/splitter/unsupported_command_count\",\"redis.googleapis.com/cluster/envoy/server/concurrency\",\"redis.googleapis.com/cluster/envoy/server/initialization_times\",\"redis.googleapis.com/cluster/envoy/server/state\",\"redis.googleapis.com/cluster/envoy/server/total_connections\",\"redis.googleapis.com/cluster/envoy/server/uptime\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/accepted_config_version\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/applied_config_version\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/config_process_latencies\",\"redis.googleapis.com/cluster/proxy_operation_agent/config_server/server_latencies\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisClusterNode\",\"metrics\":[\"redis.googleapis.com/cluster/redis/clients/recent_max_output_buffer\",\"redis.googleapis.com/cluster/redis/clients/connected\",\"redis.googleapis.com/cluster/redis/commands/calls\",\"redis.googleapis.com/cluster/redis/commands/usec\",\"redis.googleapis.com/cluster/redis/keyspace/keys\",\"redis.googleapis.com/cluster/redis/keyspace/avg_ttl\",\"redis.googleapis.com/cluster/redis/replication/role\",\"redis.googleapis.com/cluster/redis/replication/primary_repl_offset\",\"redis.googleapis.com/cluster/redis/stats/evicted_keys\",\"redis.googleapis.com/cluster/redis/stats/keyspace_hits\",\"redis.googleapis.com/cluster/redis/stats/keyspace_misses\",\"redis.googleapis.com/cluster/redis/stats/memory/usage\",\"redis.googleapis.com/cluster/redis/stats/memory/usage_rss\",\"redis.googleapis.com/cluster/redis/stats/memory/maxmemory\",\"redis.googleapis.com/cluster/redis/stats/total_net_input_bytes\",\"redis.googleapis.com/cluster/redis/stats/total_net_output_bytes\",\"redis.googleapis.com/cluster/redis/server/redis_version\",\"redis.googleapis.com/cluster/redis/server/uptime\",\"redis.googleapis.com/cluster/redis_operation_agent/api_execution_status\",\"redis.googleapis.com/cluster/redis_operation_agent/api_execution_latency\",\"redis.googleapis.com/cluster/redis_operation_agent/api_step_execution_status\",\"redis.googleapis.com/cluster/redis_operation_agent/api_step_execution_latency\",\"redis.googleapis.com/cluster/redis_operation_agent/cp_execution_latency\"]},{\"monitoredResource\":\"redis.googleapis.com/RedisCluster\",\"metrics\":[\"redis.googleapis.com/cluster/control_plane/function_latencies\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalProxyNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_change_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_healthy\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_total\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_attempt_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_empty_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_failure_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_no_rebuild_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_commands/upstream_rq_times\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_rq_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/http/downstream_rq_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_lengths\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/latencies\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/success_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_protocol_error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_rq_active\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/invalid_request_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/unsupported_command_count\",\"redis.googleapis.com/internal/cluster/envoy/server/concurrency\",\"redis.googleapis.com/internal/cluster/envoy/server/initialization_times\",\"redis.googleapis.com/internal/cluster/envoy/server/state\",\"redis.googleapis.com/internal/cluster/envoy/server/total_connections\",\"redis.googleapis.com/internal/cluster/envoy/server/uptime\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/accepted_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/applied_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/config_process_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/server_latencies\",\"redis.googleapis.com/internal/cluster/envoy/server/days_until_first_cert_expiring\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_time\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/handshake_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/connection_error_count\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/secret_manager_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/latest_secret_version_id\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/invalid_secret\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/upstream_request_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/upstream_request_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/read_replica_request_count\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalRedisNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/redis/clients/max_input_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/max_output_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/blocked\",\"redis.googleapis.com/internal/cluster/redis/clients/connected\",\"redis.googleapis.com/internal/cluster/redis/cmd/call_count\",\"redis.googleapis.com/internal/cluster/redis/cmd/usec_count\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_per_second\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_count\",\"redis.googleapis.com/internal/cluster/redis/connections/received_count\",\"redis.googleapis.com/internal/cluster/redis/connections/rejected_count\",\"redis.googleapis.com/internal/cluster/redis/cpu/time\",\"redis.googleapis.com/internal/cluster/redis/database/avg_ttl\",\"redis.googleapis.com/internal/cluster/redis/database/keys\",\"redis.googleapis.com/internal/cluster/redis/database/keys_with_expiration\",\"redis.googleapis.com/internal/cluster/redis/fork/latest_fork\",\"redis.googleapis.com/internal/cluster/redis/keys/evicted_count\",\"redis.googleapis.com/internal/cluster/redis/keys/expired_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/hit_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/miss_count\",\"redis.googleapis.com/internal/cluster/redis/memory/fragmentation_ratio\",\"redis.googleapis.com/internal/cluster/redis/memory/lua\",\"redis.googleapis.com/internal/cluster/redis/memory/maxmemory\",\"redis.googleapis.com/internal/cluster/redis/memory/peak\",\"redis.googleapis.com/internal/cluster/redis/memory/rss\",\"redis.googleapis.com/internal/cluster/redis/memory/used\",\"redis.googleapis.com/internal/cluster/redis/network/received_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/network/sent_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save_count\",\"redis.googleapis.com/internal/cluster/redis/replica/connected\",\"redis.googleapis.com/internal/cluster/redis/replication/role\",\"redis.googleapis.com/internal/cluster/redis/replication/backlog_first_byte_offset\",\"redis.googleapis.com/internal/cluster/redis/replication/offset\",\"redis.googleapis.com/internal/cluster/redis/server/redis_version\",\"redis.googleapis.com/internal/cluster/redis/server/uptime\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_step_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/cp_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save\",\"redis.googleapis.com/internal/cluster/redis/server/owned_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/completed_migration_count\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/in_migration_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/queued_migration_slots\",\"redis.googleapis.com/internal/cluster/redis/replication/replica_offset\",\"redis.googleapis.com/internal/cluster/redis/replication/replication_lag\",\"redis.googleapis.com/internal/cluster/redis/shard/shard_id\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalCluster\",\"metrics\":[\"redis.googleapis.com/internal/cluster/control_plane/function_latencies\",\"redis.googleapis.com/internal/cluster/tier\",\"redis.googleapis.com/internal/cluster/control_plane/update_function_latencies\",\"redis.googleapis.com/internal/cluster/security/auth_enabled\",\"redis.googleapis.com/internal/cluster/consumer_project\",\"redis.googleapis.com/internal/cluster/slo/min_expected_proxy_vms\",\"redis.googleapis.com/internal/cluster/slo/min_expected_replica_nodes\",\"redis.googleapis.com/internal/cluster/slo/cluster_state\",\"redis.googleapis.com/internal/cluster/memory/memory_size\",\"redis.googleapis.com/internal/cluster/security/tls_enabled\",\"redis.googleapis.com/internal/cluster/reconciliation/job_invocation_status\",\"redis.googleapis.com/internal/cluster/rollout/critical/replace_failures\",\"redis.googleapis.com/internal/cluster/rollout/critical/total_nodes\"]},{\"monitoredResource\":\"redis.googleapis.com/Cluster\",\"metrics\":[\"redis.googleapis.com/cluster/redis/memory/usages\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/secretmanager.googleapis.com\",\"config\":{\"name\":\"secretmanager.googleapis.com\",\"title\":\"Secret Manager API\",\"documentation\":{\"summary\":\"Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceconsumermanagement.googleapis.com\",\"config\":{\"name\":\"serviceconsumermanagement.googleapis.com\",\"title\":\"Service Consumer Management API\",\"documentation\":{\"summary\":\"Manages the service consumers of a Service Infrastructure service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sourcerepo.googleapis.com\",\"config\":{\"name\":\"sourcerepo.googleapis.com\",\"title\":\"Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Accesses source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sts.googleapis.com\",\"config\":{\"name\":\"sts.googleapis.com\",\"title\":\"Security Token Service API\",\"documentation\":{\"summary\":\"The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/websecurityscanner.googleapis.com\",\"config\":{\"name\":\"websecurityscanner.googleapis.com\",\"title\":\"Web Security Scanner API\",\"documentation\":{\"summary\":\"Scans your Compute and App Engine apps for common web vulnerabilities.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"}]}" }, "cookies": [], "headers": [ @@ -208,7 +208,7 @@ }, { "name": "date", - "value": "Fri, 06 Jan 2023 04:50:06 GMT" + "value": "Mon, 30 Jan 2023 22:20:45 GMT" }, { "name": "server", @@ -232,21 +232,21 @@ }, { "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" }, { "name": "connection", "value": "close" } ], - "headersSize": 483, + "headersSize": 367, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 200, "statusText": "OK" }, - "startedDateTime": "2023-01-06T04:50:04.903Z", - "time": 1492, + "startedDateTime": "2023-01-30T22:20:44.343Z", + "time": 1315, "timings": { "blocked": -1, "connect": -1, @@ -254,7 +254,7 @@ "receive": 0, "send": 0, "ssl": -1, - "wait": 1492 + "wait": 1315 } } ], diff --git a/src/__recordings__/validateInvocation-failure-invalidProjectId_3566742648/recording.har b/src/__recordings__/validateInvocation-failure-invalidProjectId_3566742648/recording.har new file mode 100644 index 00000000..6cd967f0 --- /dev/null +++ b/src/__recordings__/validateInvocation-failure-invalidProjectId_3566742648/recording.har @@ -0,0 +1,264 @@ +{ + "log": { + "_recordingName": "validateInvocation:failure:invalidProjectId", + "creator": { + "comment": "persister:JupiterOneIntegationFSPersister", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "acea721c8193b51ced888cae721cc423", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 709, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "709" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip,deflate" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "www.googleapis.com" + } + ], + "headersSize": 300, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "[REDACTED]" + }, + "queryString": [], + "url": "https://www.googleapis.com/oauth2/v4/token" + }, + "response": { + "bodySize": 1275, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 1275, + "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Thu, 02 Feb 2023 12:43:21 GMT" + }, + { + "name": "server", + "value": "scaffolding on HTTPServer2" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 390, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-02-02T12:43:20.923Z", + "time": 122, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 122 + } + }, + { + "_id": "7cafef90c67977cce09b676b39635c40", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "x-goog-api-client", + "value": "gdcl/5.0.2 gl-node/16.15.1 auth/7.1.1" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "google-api-nodejs-client/5.0.2 (gzip)" + }, + { + "_fromType": "array", + "name": "authorization", + "value": "[REDACTED]" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "serviceusage.googleapis.com" + } + ], + "headersSize": 1396, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "pageSize", + "value": "200" + }, + { + "name": "filter", + "value": "state:ENABLED" + } + ], + "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v312/services?pageSize=200&filter=state%3AENABLED" + }, + "response": { + "bodySize": 792, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 792, + "text": "{\"error\":{\"code\":403,\"message\":\"Project 'j1-gc-integration-dev-v312' not found or permission denied.\\nHelp Token: AVUsNs2VIo3xz9nuqR13Q5EIqpx_jsYBy0a0adNKx63wfZbqbhB0Suhoyni35hl4aLPXOC7DAGXkunqWs-Pvfoe0jCYFLNcEBe5rRc_ZtLejisrJ\",\"errors\":[{\"message\":\"Project 'j1-gc-integration-dev-v312' not found or permission denied.\\nHelp Token: AVUsNs2VIo3xz9nuqR13Q5EIqpx_jsYBy0a0adNKx63wfZbqbhB0Suhoyni35hl4aLPXOC7DAGXkunqWs-Pvfoe0jCYFLNcEBe5rRc_ZtLejisrJ\",\"domain\":\"global\",\"reason\":\"forbidden\"}],\"status\":\"PERMISSION_DENIED\",\"details\":[{\"@type\":\"type.googleapis.com/google.rpc.PreconditionFailure\",\"violations\":[{\"type\":\"googleapis.com\",\"subject\":\"?error_code=210002&type=Project&resource_id=j1-gc-integration-dev-v312\"}]},{\"@type\":\"type.googleapis.com/google.rpc.ErrorInfo\",\"reason\":\"RESOURCES_NOT_FOUND\",\"domain\":\"serviceusage.googleapis.com\",\"metadata\":{\"type\":\"Project\",\"resource_id\":\"j1-gc-integration-dev-v312\"}}]}}" + }, + "cookies": [], + "headers": [ + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "date", + "value": "Thu, 02 Feb 2023 12:43:22 GMT" + }, + { + "name": "server", + "value": "ESF" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 367, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 403, + "statusText": "Forbidden" + }, + "startedDateTime": "2023-02-02T12:43:21.051Z", + "time": 1151, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1151 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/__recordings__/validateInvocation-success_2655496164/recording.har b/src/__recordings__/validateInvocation-success_2655496164/recording.har new file mode 100644 index 00000000..44a7c28d --- /dev/null +++ b/src/__recordings__/validateInvocation-success_2655496164/recording.har @@ -0,0 +1,264 @@ +{ + "log": { + "_recordingName": "validateInvocation:success", + "creator": { + "comment": "persister:JupiterOneIntegationFSPersister", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "acea721c8193b51ced888cae721cc423", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 709, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "709" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip,deflate" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "www.googleapis.com" + } + ], + "headersSize": 300, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "[REDACTED]" + }, + "queryString": [], + "url": "https://www.googleapis.com/oauth2/v4/token" + }, + "response": { + "bodySize": 1255, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 1255, + "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Thu, 02 Feb 2023 00:23:47 GMT" + }, + { + "name": "server", + "value": "scaffolding on HTTPServer2" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 390, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-02-02T00:23:46.830Z", + "time": 115, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 115 + } + }, + { + "_id": "7cafef90c67977cce09b676b39635c40", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "x-goog-api-client", + "value": "gdcl/5.0.2 gl-node/16.15.1 auth/7.1.1" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "google-api-nodejs-client/5.0.2 (gzip)" + }, + { + "_fromType": "array", + "name": "authorization", + "value": "[REDACTED]" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "serviceusage.googleapis.com" + } + ], + "headersSize": 1394, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [ + { + "name": "pageSize", + "value": "200" + }, + { + "name": "filter", + "value": "state:ENABLED" + } + ], + "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v3/services?pageSize=200&filter=state%3AENABLED" + }, + "response": { + "bodySize": 18631, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 18631, + "text": "{\"services\":[{\"name\":\"projects/167984947943/services/abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"config\":{\"name\":\"abilitec-api.endpoints.liveramp-identity-public.cloud.goog\",\"title\":\"AbiliTec API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to Google Cloud services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"accesscontextmanager.googleapis.com/Location\",\"displayName\":\"Access Context Manager Location\",\"description\":\"Access Context Manager Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The organization number of the policy, such as organizations/5678.\"},{\"key\":\"location\",\"description\":\"The location of the policy.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/access_levels_per_policy\",\"accesscontextmanager.googleapis.com/perimeter_egress_policies_per_policy\",\"accesscontextmanager.googleapis.com/perimeter_ingress_policies_per_policy\",\"accesscontextmanager.googleapis.com/perimeter_protected_resources_per_policy\",\"accesscontextmanager.googleapis.com/perimeters_per_policy\",\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/exceeded\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/exceeded\"]},{\"monitoredResource\":\"accesscontextmanager.googleapis.com/Location\",\"metrics\":[\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/access_levels_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_egress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_ingress_policies_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_members_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeter_protected_resources_per_policy/usage\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/limit\",\"accesscontextmanager.googleapis.com/quota/perimeters_per_policy/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/admin.googleapis.com\",\"config\":{\"name\":\"admin.googleapis.com\",\"title\":\"Admin SDK API\",\"documentation\":{\"summary\":\"Admin SDK lets administrators of enterprise domains to\\n view and manage resources like user, groups etc. It also provides\\n audit and usage reports of domain.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apikeys.googleapis.com\",\"config\":{\"name\":\"apikeys.googleapis.com\",\"title\":\"API Keys API\",\"documentation\":{\"summary\":\"Manages the API keys associated with developer projects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/autoscaling.googleapis.com\",\"config\":{\"name\":\"autoscaling.googleapis.com\",\"title\":\"Cloud Autoscaling API\",\"documentation\":{\"summary\":\"An API for the Cloud Autoscaling for consuming autoscaling signals.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"bigquery.googleapis.com/Table\",\"displayName\":\"BigQuery Table Resource.\",\"description\":\"BigQuery Table Resource.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP resource container associated with this resource, such as \\\"my-project\\\" or \\\"organizations/123”.\"},{\"key\":\"location\",\"description\":\"The cloud location of the BigQuery table.\"},{\"key\":\"table_reference\",\"description\":\"The table reference in the format of project_id:dataset_id.table_id for the BigQuery table.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"bigquery.googleapis.com/Table\",\"metrics\":[\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/exceeded\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/exceeded\"]},{\"monitoredResource\":\"bigquery.googleapis.com/Table\",\"metrics\":[\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_eu/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_org_us/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_eu/usage\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/limit\",\"bigquery.googleapis.com/quota/internal/table/base_table_bytes_for_free_indexing_per_project_us/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerymigration.googleapis.com\",\"config\":{\"name\":\"bigquerymigration.googleapis.com\",\"title\":\"BigQuery Migration API\",\"documentation\":{\"summary\":\"The migration service, exposing apis for migration jobs operations, and agent management.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigtableadmin.googleapis.com\",\"config\":{\"name\":\"bigtableadmin.googleapis.com\",\"title\":\"Cloud Bigtable Admin API\",\"documentation\":{\"summary\":\"Administer your Cloud Bigtable tables and instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/billingbudgets.googleapis.com\",\"config\":{\"name\":\"billingbudgets.googleapis.com\",\"title\":\"Cloud Billing Budget API\",\"documentation\":{\"summary\":\"The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The Cloud Asset API manages the history and inventory of Google Cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbilling.googleapis.com\",\"config\":{\"name\":\"cloudbilling.googleapis.com\",\"title\":\"Cloud Billing API\",\"documentation\":{\"summary\":\"Allows developers to manage billing for their Google Cloud Platform projects\\n programmatically.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudidentity.googleapis.com\",\"config\":{\"name\":\"cloudidentity.googleapis.com\",\"title\":\"Cloud Identity API\",\"documentation\":{\"summary\":\"API for provisioning and managing identity resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudscheduler.googleapis.com\",\"config\":{\"name\":\"cloudscheduler.googleapis.com\",\"title\":\"Cloud Scheduler API\",\"documentation\":{\"summary\":\"Creates and manages jobs run on a regular recurring schedule.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"api_service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/compute.googleapis.com\",\"config\":{\"name\":\"compute.googleapis.com\",\"title\":\"Compute Engine API\",\"documentation\":{\"summary\":\"Creates and runs virtual machines on Google Cloud Platform.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"compute.googleapis.com/VpcNetwork\",\"displayName\":\"VPC Network\",\"description\":\"VPC Network.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the VPC Network.\"},{\"key\":\"location\",\"description\":\"Location of the VPC Network, global always.\"},{\"key\":\"network_id\",\"description\":\"VPC Network resource ID.\"}],\"launchStage\":\"GA\"},{\"type\":\"compute.googleapis.com/Location\",\"displayName\":\"Compute Location\",\"description\":\"A location in the Compute API.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the Compute Location.\"},{\"key\":\"location\",\"description\":\"Location of resource.\"}],\"launchStage\":\"BETA\"},{\"type\":\"compute.googleapis.com/Reservation\",\"displayName\":\"Reservation\",\"description\":\"Monitored resource representing a reservation.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP container (e.g. project number) associated with the reservation.\"},{\"key\":\"location\",\"description\":\"The zone that contains the reservation.\"},{\"key\":\"reservation_id\",\"description\":\"Reservation resource ID.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/instances_per_vpc_network\",\"compute.googleapis.com/internal_lb_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_managed_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_protocol_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/ip_aliases_per_vpc_network\",\"compute.googleapis.com/psc_google_apis_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network\",\"compute.googleapis.com/quota/global_internal_managed_forwarding_rules_per_region_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/instances_per_peering_group/exceeded\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/exceeded\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/static_routes_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/subnet_ranges_per_vpc_network\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/global_dns/request_count\",\"compute.googleapis.com/local_ssd_total_storage_per_vm_family\",\"compute.googleapis.com/quota/cpus_per_vm_family/exceeded\",\"compute.googleapis.com/quota/gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/exceeded\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/exceeded\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/exceeded\"]},{\"monitoredResource\":\"compute.googleapis.com/Location\",\"metrics\":[\"compute.googleapis.com/quota/cpus_per_vm_family/limit\",\"compute.googleapis.com/quota/cpus_per_vm_family/usage\",\"compute.googleapis.com/quota/gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/limit\",\"compute.googleapis.com/quota/local_ssd_total_storage_per_vm_family/usage\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/limit\",\"compute.googleapis.com/quota/preemptible_gpus_per_gpu_family/usage\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/limit\",\"compute.googleapis.com/quota/reserved_resource_per_aggregate_reservation_per_cluster/usage\"]},{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/quota/global_internal_managed_forwarding_rules_per_region_per_vpc_network/limit\",\"compute.googleapis.com/quota/global_internal_managed_forwarding_rules_per_region_per_vpc_network/usage\",\"compute.googleapis.com/quota/instances_per_peering_group/limit\",\"compute.googleapis.com/quota/instances_per_peering_group/usage\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_peering_group/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/limit\",\"compute.googleapis.com/quota/ip_aliases_per_peering_group/usage\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_regional_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/usage\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/limit\",\"compute.googleapis.com/quota/regional_external_managed_forwarding_rules_per_region_per_vpc_network/usage\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/limit\",\"compute.googleapis.com/quota/regional_internal_managed_forwarding_rules_per_region_per_vpc_network/usage\",\"compute.googleapis.com/quota/static_routes_per_peering_group/limit\",\"compute.googleapis.com/quota/static_routes_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_peering_group/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_regional_vpc_network/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\"]},{\"monitoredResource\":\"compute.googleapis.com/Reservation\",\"metrics\":[\"compute.googleapis.com/reservation/reserved\",\"compute.googleapis.com/reservation/assured\",\"compute.googleapis.com/reservation/used\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerfilesystem.googleapis.com\",\"config\":{\"name\":\"containerfilesystem.googleapis.com\",\"title\":\"Container File System API\",\"documentation\":{\"summary\":\"Stream images stored in Artifact Registry to GKE\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerscanning.googleapis.com\",\"config\":{\"name\":\"containerscanning.googleapis.com\",\"title\":\"Container Scanning API\",\"documentation\":{\"summary\":\"A service to scan containers for vulnerabilities.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc-control.googleapis.com\",\"config\":{\"name\":\"dataproc-control.googleapis.com\",\"title\":\"Cloud Dataproc Control API\",\"documentation\":{\"summary\":\"Manages internal resources for Google Cloud Dataproc.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc.googleapis.com\",\"config\":{\"name\":\"dataproc.googleapis.com\",\"title\":\"Cloud Dataproc API\",\"documentation\":{\"summary\":\"Manages Hadoop-based clusters and jobs on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/eventarc.googleapis.com\",\"config\":{\"name\":\"eventarc.googleapis.com\",\"title\":\"Eventarc API\",\"documentation\":{\"summary\":\"Build event-driven applications on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"eventarc.googleapis.com/InternalTrigger\",\"displayName\":\"Eventarc Trigger (Internal)\",\"description\":\"An Eventarc Trigger, not externally visible, its corresponding metrics will be externally write-only.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location where the trigger is deployed, e.g. us-central1, global.\"},{\"key\":\"trigger_id\",\"description\":\"The ID of the trigger.\"},{\"key\":\"sender_id\",\"description\":\"A unique identifier for the entity sending the metric data.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"eventarc.googleapis.com/InternalTrigger\",\"metrics\":[\"eventarc.googleapis.com/internal/trigger/event_delivery_attempt_count\",\"eventarc.googleapis.com/internal/trigger/event_delivery_latencies\",\"eventarc.googleapis.com/internal/trigger/underlying_event_delivery_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/groupssettings.googleapis.com\",\"config\":{\"name\":\"groupssettings.googleapis.com\",\"title\":\"Groups Settings API\",\"documentation\":{\"summary\":\"The Groups Settings API allows domain administrators to view and manage\\n access levels and advanced settings for a group.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/universal\",\"serviceusage.googleapis.com/tos/appsadmin\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\",\"logging.googleapis.com/billing/stored_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"Node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource that the metric ingestion was associated with, unless it was 'global', in which case this will be the cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" and \\\"cluster\\\" are supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/orgpolicy.googleapis.com\",\"config\":{\"name\":\"orgpolicy.googleapis.com\",\"title\":\"Organization Policy API\",\"documentation\":{\"summary\":\"The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/osconfig.googleapis.com\",\"config\":{\"name\":\"osconfig.googleapis.com\",\"title\":\"OS Config API\",\"documentation\":{\"summary\":\"OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"osconfig.googleapis.com/PatchJob\",\"displayName\":\"Patch Job\",\"description\":\"A patch job ran by VM Manager.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP project associated with the patch job.\"},{\"key\":\"location\",\"description\":\"The location that contains the patch job.\"},{\"key\":\"id\",\"description\":\"Id uniquely identifying the patch job.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"osconfig.googleapis.com/PatchJob\",\"metrics\":[\"osconfig.googleapis.com/patch/job/instance_state\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/oslogin.googleapis.com\",\"config\":{\"name\":\"oslogin.googleapis.com\",\"title\":\"Cloud OS Login API\",\"documentation\":{\"summary\":\"You can use OS Login to manage access to your VM instances using IAM roles.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/recommender.googleapis.com\",\"config\":{\"name\":\"recommender.googleapis.com\",\"title\":\"Recommender API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"GA\"},{\"type\":\"redis.googleapis.com/InternalCluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalRedisNode\",\"displayName\":\"Cloud Memorystore Cluster Redis Node\",\"description\":\"A Redis node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a Redis node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"redis.googleapis.com/InternalProxyNode\",\"displayName\":\"Cloud Memorystore Cluster Proxy Node\",\"description\":\"A proxy node within a managed cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"service_name\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The display name of the managed cluster, set by the customer.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by CCFE to uniquely distinguish a cluster.\"},{\"key\":\"node_uid\",\"description\":\"The GCE VM name of a proxy node.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/Cluster\",\"displayName\":\"Cloud Memorystore Redis Cluster\",\"description\":\"A Redis cluster hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP consumer project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The Google Cloud region in which the managed cluster is running.\"},{\"key\":\"cluster_id\",\"description\":\"The ID of the managed cluster.\"},{\"key\":\"cluster_uid\",\"description\":\"Identifier assigned by Google to uniquely distinguish a cluster.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/cloud/cmek/operation_attempts\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/relative_start_time\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/stats/memory/client_output_buffer_oom_evictions\",\"redis.googleapis.com/envoyproxy/upstream/command_latencies\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_start_latencies\",\"redis.googleapis.com/cloud/mem_store/maintenance_window_end_latencies\",\"redis.googleapis.com/maintenance/policy_enabled\",\"redis.googleapis.com/maintenance/reschedule_attempts\",\"redis.googleapis.com/vm/zone\",\"redis.googleapis.com/cloud/mem_store/zonal_stockout_count\",\"redis.googleapis.com/availability/instance_probes_ilb_count\",\"redis.googleapis.com/cloud/mem_store/self_service_update_attempts_count\",\"redis.googleapis.com/stats/cpu_main_thread\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalProxyNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_change_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_healthy\",\"redis.googleapis.com/internal/cluster/envoy/cluster/membership_total\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_attempt_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_empty_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_failure_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/update_no_rebuild_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_commands/upstream_rq_times\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/cluster/upstream_rq_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/http/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/http/downstream_rq_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_active\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_lengths\",\"redis.googleapis.com/internal/cluster/envoy/listener/downstream_cx_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/latencies\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/success_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/command/total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_protocol_error_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_rx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_buffered\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_cx_tx_bytes_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/downstream_rq_active\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/invalid_request_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/unsupported_command_count\",\"redis.googleapis.com/internal/cluster/envoy/server/concurrency\",\"redis.googleapis.com/internal/cluster/envoy/server/initialization_times\",\"redis.googleapis.com/internal/cluster/envoy/server/state\",\"redis.googleapis.com/internal/cluster/envoy/server/total_connections\",\"redis.googleapis.com/internal/cluster/envoy/server/uptime\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/accepted_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/applied_config_version\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/config_process_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/config_server/server_latencies\",\"redis.googleapis.com/internal/cluster/envoy/server/days_until_first_cert_expiring\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_time\",\"redis.googleapis.com/internal/cluster/envoy/sds/update_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/handshake_count\",\"redis.googleapis.com/internal/cluster/envoy/listener/ssl/connection_error_count\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/secret_manager_latencies\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/latest_secret_version_id\",\"redis.googleapis.com/internal/cluster/proxy_operation_agent/invalid_secret\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/upstream_request_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/upstream_request_total_count\",\"redis.googleapis.com/internal/cluster/envoy/redis/splitter/read_replica_request_count\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalRedisNode\",\"metrics\":[\"redis.googleapis.com/internal/cluster/redis/clients/max_input_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/max_output_buffer\",\"redis.googleapis.com/internal/cluster/redis/clients/blocked\",\"redis.googleapis.com/internal/cluster/redis/clients/connected\",\"redis.googleapis.com/internal/cluster/redis/cmd/call_count\",\"redis.googleapis.com/internal/cluster/redis/cmd/usec_count\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_per_second\",\"redis.googleapis.com/internal/cluster/redis/commands/processed_count\",\"redis.googleapis.com/internal/cluster/redis/connections/received_count\",\"redis.googleapis.com/internal/cluster/redis/connections/rejected_count\",\"redis.googleapis.com/internal/cluster/redis/cpu/time\",\"redis.googleapis.com/internal/cluster/redis/database/avg_ttl\",\"redis.googleapis.com/internal/cluster/redis/database/keys\",\"redis.googleapis.com/internal/cluster/redis/database/keys_with_expiration\",\"redis.googleapis.com/internal/cluster/redis/fork/latest_fork\",\"redis.googleapis.com/internal/cluster/redis/keys/evicted_count\",\"redis.googleapis.com/internal/cluster/redis/keys/expired_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/hit_count\",\"redis.googleapis.com/internal/cluster/redis/keyspace/miss_count\",\"redis.googleapis.com/internal/cluster/redis/memory/fragmentation_ratio\",\"redis.googleapis.com/internal/cluster/redis/memory/lua\",\"redis.googleapis.com/internal/cluster/redis/memory/maxmemory\",\"redis.googleapis.com/internal/cluster/redis/memory/peak\",\"redis.googleapis.com/internal/cluster/redis/memory/rss\",\"redis.googleapis.com/internal/cluster/redis/memory/used\",\"redis.googleapis.com/internal/cluster/redis/network/received_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/network/sent_bytes_count\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save_count\",\"redis.googleapis.com/internal/cluster/redis/replica/connected\",\"redis.googleapis.com/internal/cluster/redis/replication/role\",\"redis.googleapis.com/internal/cluster/redis/replication/backlog_first_byte_offset\",\"redis.googleapis.com/internal/cluster/redis/replication/offset\",\"redis.googleapis.com/internal/cluster/redis/server/redis_version\",\"redis.googleapis.com/internal/cluster/redis/server/uptime\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/api_step_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis_operation_agent/cp_execution_latencies\",\"redis.googleapis.com/internal/cluster/redis/rdb/change_since_last_save\",\"redis.googleapis.com/internal/cluster/redis/server/owned_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/completed_migration_count\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/in_migration_slots\",\"redis.googleapis.com/internal/cluster/redis/slot_migration/queued_migration_slots\",\"redis.googleapis.com/internal/cluster/redis/replication/replica_offset\",\"redis.googleapis.com/internal/cluster/redis/replication/replication_lag\",\"redis.googleapis.com/internal/cluster/redis/shard/shard_id\"]},{\"monitoredResource\":\"redis.googleapis.com/InternalCluster\",\"metrics\":[\"redis.googleapis.com/internal/cluster/control_plane/function_latencies\",\"redis.googleapis.com/internal/cluster/tier\",\"redis.googleapis.com/internal/cluster/control_plane/update_function_latencies\",\"redis.googleapis.com/internal/cluster/security/auth_enabled\",\"redis.googleapis.com/internal/cluster/consumer_project\",\"redis.googleapis.com/internal/cluster/slo/min_expected_proxy_vms\",\"redis.googleapis.com/internal/cluster/slo/min_expected_replica_nodes\",\"redis.googleapis.com/internal/cluster/slo/cluster_state\",\"redis.googleapis.com/internal/cluster/memory/memory_size\",\"redis.googleapis.com/internal/cluster/security/tls_enabled\",\"redis.googleapis.com/internal/cluster/reconciliation/job_invocation_status\",\"redis.googleapis.com/internal/cluster/rollout/critical/replace_failures\",\"redis.googleapis.com/internal/cluster/rollout/critical/total_nodes\"]},{\"monitoredResource\":\"redis.googleapis.com/Cluster\",\"metrics\":[\"redis.googleapis.com/cluster/redis/memory/usages\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/secretmanager.googleapis.com\",\"config\":{\"name\":\"secretmanager.googleapis.com\",\"title\":\"Secret Manager API\",\"documentation\":{\"summary\":\"Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceconsumermanagement.googleapis.com\",\"config\":{\"name\":\"serviceconsumermanagement.googleapis.com\",\"title\":\"Service Consumer Management API\",\"documentation\":{\"summary\":\"Manages the service consumers of a Service Infrastructure service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sourcerepo.googleapis.com\",\"config\":{\"name\":\"sourcerepo.googleapis.com\",\"title\":\"Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Accesses source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sts.googleapis.com\",\"config\":{\"name\":\"sts.googleapis.com\",\"title\":\"Security Token Service API\",\"documentation\":{\"summary\":\"The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/websecurityscanner.googleapis.com\",\"config\":{\"name\":\"websecurityscanner.googleapis.com\",\"title\":\"Web Security Scanner API\",\"documentation\":{\"summary\":\"Scans your Compute and App Engine apps for common web vulnerabilities.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Thu, 02 Feb 2023 00:23:48 GMT" + }, + { + "name": "server", + "value": "ESF" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 367, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2023-02-02T00:23:46.965Z", + "time": 1509, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1509 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/__recordings__/validateStepStartStates_2991931469/recording.har b/src/__recordings__/validateStepStartStates_2991931469/recording.har deleted file mode 100644 index 8ffeb335..00000000 --- a/src/__recordings__/validateStepStartStates_2991931469/recording.har +++ /dev/null @@ -1,262 +0,0 @@ -{ - "log": { - "_recordingName": "validateStepStartStates", - "creator": { - "comment": "persister:JupiterOneIntegationFSPersister", - "name": "Polly.JS", - "version": "5.1.1" - }, - "entries": [ - { - "_id": "acea721c8193b51ced888cae721cc423", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 739, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "content-type", - "value": "application/x-www-form-urlencoded" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "content-length", - "value": "739" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip,deflate" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "www.googleapis.com" - } - ], - "headersSize": 300, - "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/x-www-form-urlencoded", - "params": [], - "text": "[REDACTED]" - }, - "queryString": [], - "url": "https://www.googleapis.com/oauth2/v4/token" - }, - "response": { - "bodySize": 605, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 605, - "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:57:06 GMT" - }, - { - "name": "server", - "value": "scaffolding on HTTPServer2" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 506, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:57:06.196Z", - "time": 125, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 125 - } - }, - { - "_id": "7cafef90c67977cce09b676b39635c40", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 0, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "x-goog-api-client", - "value": "gdcl/5.0.2 gl-node/14.18.0 auth/7.1.1" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "google-api-nodejs-client/5.0.2 (gzip)" - }, - { - "_fromType": "array", - "name": "authorization", - "value": "[REDACTED]" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "serviceusage.googleapis.com" - } - ], - "headersSize": 1394, - "httpVersion": "HTTP/1.1", - "method": "GET", - "queryString": [ - { - "name": "pageSize", - "value": "200" - }, - { - "name": "filter", - "value": "state:ENABLED" - } - ], - "url": "https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v3/services?pageSize=200&filter=state%3AENABLED" - }, - "response": { - "bodySize": 21148, - "content": { - "mimeType": "application/json; charset=UTF-8", - "size": 21148, - "text": "{\"services\":[{\"name\":\"projects/167984947943/services/accesscontextmanager.googleapis.com\",\"config\":{\"name\":\"accesscontextmanager.googleapis.com\",\"title\":\"Access Context Manager API\",\"documentation\":{\"summary\":\"An API for setting attribute based access control to requests to GCP services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/apigateway.googleapis.com\",\"config\":{\"name\":\"apigateway.googleapis.com\",\"title\":\"API Gateway API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"apigateway.googleapis.com/Gateway\",\"displayName\":\"API Gateway\",\"description\":\"Fully managed API Gateway.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP Project owning the Gateway.\"},{\"key\":\"location\",\"description\":\"The region in which the Gateway is running.\"},{\"key\":\"gateway_id\",\"description\":\"The ID of the Gateway.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"apigateway.googleapis.com/Gateway\",\"metrics\":[\"apigateway.googleapis.com/proxy/request_count\",\"apigateway.googleapis.com/server/request_count\",\"apigateway.googleapis.com/internal/downstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_count\",\"apigateway.googleapis.com/internal/upstream/request_latencies\",\"apigateway.googleapis.com/internal/filter_denied_count\",\"apigateway.googleapis.com/internal/service_control/allowed_fail_open_count\",\"apigateway.googleapis.com/internal/service_control/check_count\",\"apigateway.googleapis.com/internal/service_control/report_count\",\"apigateway.googleapis.com/internal/service_control/request_latencies\",\"apigateway.googleapis.com/internal/service_control/request_latencies_overhead\",\"apigateway.googleapis.com/internal/service_control/request_latencies_backend\",\"apigateway.googleapis.com/internal/service_control/overhead_latencies_upper\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/appengine.googleapis.com\",\"config\":{\"name\":\"appengine.googleapis.com\",\"title\":\"App Engine Admin API\",\"documentation\":{\"summary\":\"Provisions and manages developers' App Engine applications.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquery.googleapis.com\",\"config\":{\"name\":\"bigquery.googleapis.com\",\"title\":\"BigQuery API\",\"documentation\":{\"summary\":\"A data platform for customers to create, manage, share and query data.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerymigration.googleapis.com\",\"config\":{\"name\":\"bigquerymigration.googleapis.com\",\"title\":\"BigQuery Migration API\",\"documentation\":{\"summary\":\"The migration service, exposing apis for migration jobs operations, and agent management.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigquerystorage.googleapis.com\",\"config\":{\"name\":\"bigquerystorage.googleapis.com\",\"title\":\"BigQuery Storage API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/bigtableadmin.googleapis.com\",\"config\":{\"name\":\"bigtableadmin.googleapis.com\",\"title\":\"Cloud Bigtable Admin API\",\"documentation\":{\"summary\":\"Administer your Cloud Bigtable tables and instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/billingbudgets.googleapis.com\",\"config\":{\"name\":\"billingbudgets.googleapis.com\",\"title\":\"Cloud Billing Budget API\",\"documentation\":{\"summary\":\"The Cloud Billing Budget API stores Cloud Billing budgets, which define a budget plan and the rules to execute as spend is tracked against that plan.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/binaryauthorization.googleapis.com\",\"config\":{\"name\":\"binaryauthorization.googleapis.com\",\"title\":\"Binary Authorization API\",\"documentation\":{\"summary\":\"The management interface for Binary Authorization, a service that provides policy-based deployment validation and control for images deployed to Google Kubernetes Engine (GKE), Anthos Service Mesh, Anthos Clusters, and Cloud Run.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudapis.googleapis.com\",\"config\":{\"name\":\"cloudapis.googleapis.com\",\"title\":\"Google Cloud APIs\",\"documentation\":{\"summary\":\"This is a meta service for Google Cloud APIs for convenience. Enabling this service enables all commonly used Google Cloud APIs for the project. By default, it is enabled for all projects created through Google Cloud Console and Google Cloud SDK, and should be manually enabled for all other projects that intend to use Google Cloud APIs. Note: disabling this service has no effect on other services.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudasset.googleapis.com\",\"config\":{\"name\":\"cloudasset.googleapis.com\",\"title\":\"Cloud Asset API\",\"documentation\":{\"summary\":\"The cloud asset API manages the history and inventory of cloud resources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbilling.googleapis.com\",\"config\":{\"name\":\"cloudbilling.googleapis.com\",\"title\":\"Cloud Billing API\",\"documentation\":{\"summary\":\"Allows developers to manage billing for their Google Cloud Platform projects\\n programmatically.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudbuild.googleapis.com\",\"config\":{\"name\":\"cloudbuild.googleapis.com\",\"title\":\"Cloud Build API\",\"documentation\":{\"summary\":\"Creates and manages builds on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/clouddebugger.googleapis.com\",\"config\":{\"name\":\"clouddebugger.googleapis.com\",\"title\":\"Cloud Debugger API\",\"documentation\":{\"summary\":\"Examines the call stack and variables of a running application without stopping or slowing it down.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudfunctions.googleapis.com\",\"config\":{\"name\":\"cloudfunctions.googleapis.com\",\"title\":\"Cloud Functions API\",\"documentation\":{\"summary\":\"Manages lightweight user-provided functions executed in response to events.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudfunctions.googleapis.com/function\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloudfunctions.googleapis.com/function_name\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudfunctions.googleapis.com/function\",\"metrics\":[\"cloudfunctions.googleapis.com/function/execution_times\",\"cloudfunctions.googleapis.com/function/execution_count\",\"cloudfunctions.googleapis.com/function/user_memory_bytes\",\"cloudfunctions.googleapis.com/function/network_egress\",\"cloudfunctions.googleapis.com/function/active_instances\",\"cloudfunctions.googleapis.com/function/execution_delays\",\"cloudfunctions.googleapis.com/function/execution_count_internal\",\"cloudfunctions.googleapis.com/function/supervisor_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_memory_bytes\",\"cloudfunctions.googleapis.com/function/user_gcu_times\",\"cloudfunctions.googleapis.com/function/supervisor_chemist_rpc_error_count\",\"cloudfunctions.googleapis.com/function/supervisor_controlled_death_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_count\",\"cloudfunctions.googleapis.com/function/supervisor_report_latencies\",\"cloudfunctions.googleapis.com/function/supervisor_phase_latencies\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudkms.googleapis.com\",\"config\":{\"name\":\"cloudkms.googleapis.com\",\"title\":\"Cloud Key Management Service (KMS) API\",\"documentation\":{\"summary\":\"Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudkms.googleapis.com/Project\",\"displayName\":\"KMS project\",\"description\":\"KMS project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/ekm/external/request_count\",\"cloudkms.googleapis.com/ekm/external/request_latencies\",\"cloudkms.googleapis.com/external_kms_multiregion_requests\",\"cloudkms.googleapis.com/hsm_multiregion_asymmetric_requests\",\"cloudkms.googleapis.com/hsm_multiregion_symmetric_requests\",\"cloudkms.googleapis.com/peak_qps\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/exceeded\",\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/usage\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/exceeded\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/usage\"]},{\"monitoredResource\":\"cloudkms.googleapis.com/Project\",\"metrics\":[\"cloudkms.googleapis.com/quota/external_kms_multiregion_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/hsm_multiregion_symmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_asymmetric_requests/limit\",\"cloudkms.googleapis.com/quota/software_multiregion_symmetric_requests/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudresourcemanager.googleapis.com\",\"config\":{\"name\":\"cloudresourcemanager.googleapis.com\",\"title\":\"Cloud Resource Manager API\",\"documentation\":{\"summary\":\"Creates, reads, and updates metadata for Google Cloud Platform resource containers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudscheduler.googleapis.com\",\"config\":{\"name\":\"cloudscheduler.googleapis.com\",\"title\":\"Cloud Scheduler API\",\"documentation\":{\"summary\":\"Creates and manages jobs run on a regular recurring schedule.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/cloudtrace.googleapis.com\",\"config\":{\"name\":\"cloudtrace.googleapis.com\",\"title\":\"Cloud Trace API\",\"documentation\":{\"summary\":\"Sends application trace data to Cloud Trace for viewing. Trace data is collected for all App Engine applications by default. Trace data from other applications can be provided using this API. This library is used to interact with the Cloud Trace API directly. If you are looking to instrument your application for Cloud Trace, we recommend using OpenTelemetry.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"cloudtrace.googleapis.com/charged_project\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"monitoring.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"cloudtrace.googleapis.com/ChargedProject\",\"displayName\":\"Cloud trace target\",\"description\":\"A cloud trace specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'cloudtrace.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"displayName\":\"Cloud Trace\",\"description\":\"Cloud trace resource, e.g. project.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container associated with the resource.\"},{\"key\":\"location\",\"description\":\"The location that the Cloud Trace service recording the metrics is running.\"}],\"launchStage\":\"EARLY_ACCESS\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"cloudtrace.googleapis.com/ChargedProject\",\"metrics\":[\"cloudtrace.googleapis.com/billing/ingested_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/charged_project\",\"metrics\":[\"cloudtrace.googleapis.com/billing/retrieved_spans\"]},{\"monitoredResource\":\"cloudtrace.googleapis.com/CloudtraceProject\",\"metrics\":[\"cloudtrace.googleapis.com/internal/plugin_server_span_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_count\",\"cloudtrace.googleapis.com/internal/reader_root_query_latencies\",\"cloudtrace.googleapis.com/bigquery_export/exported_span_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/compute.googleapis.com\",\"config\":{\"name\":\"compute.googleapis.com\",\"title\":\"Compute Engine API\",\"documentation\":{\"summary\":\"Creates and runs virtual machines on Google Cloud Platform.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"compute.googleapis.com/VpcNetwork\",\"displayName\":\"VPC Network\",\"description\":\"VPC Network.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP container (i.e. project) associated with the VPC Network.\"},{\"key\":\"location\",\"description\":\"Location of the VPC Network, global always.\"},{\"key\":\"network_id\",\"description\":\"VPC Network resource ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/instances_per_vpc_network\",\"compute.googleapis.com/internal_lb_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_managed_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/internal_protocol_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/ip_aliases_per_vpc_network\",\"compute.googleapis.com/psc_google_apis_forwarding_rules_per_vpc_network\",\"compute.googleapis.com/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network\",\"compute.googleapis.com/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/exceeded\",\"compute.googleapis.com/subnet_ranges_per_vpc_network\"]},{\"monitoredResource\":\"compute.googleapis.com/VpcNetwork\",\"metrics\":[\"compute.googleapis.com/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_lb_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_managed_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/limit\",\"compute.googleapis.com/quota/psc_ilb_consumer_forwarding_rules_per_producer_vpc_network/usage\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/instances_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/internal_load_balancer_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/internal_protocol_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/ip_aliases_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/psc_google_apis_forwarding_rules_per_vpc_network/usage\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/quota/subnet_ranges_per_vpc_network/usage\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/limit\",\"compute.googleapis.com/quota/subnet_ranges_per_vpc_network/usage\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/container.googleapis.com\",\"config\":{\"name\":\"container.googleapis.com\",\"title\":\"Kubernetes Engine API\",\"documentation\":{\"summary\":\"Builds and manages container-based applications, powered by the open source Kubernetes technology.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containeranalysis.googleapis.com\",\"config\":{\"name\":\"containeranalysis.googleapis.com\",\"title\":\"Container Analysis API\",\"documentation\":{\"summary\":\"An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/containerregistry.googleapis.com\",\"config\":{\"name\":\"containerregistry.googleapis.com\",\"title\":\"Container Registry API\",\"documentation\":{\"summary\":\"Google Container Registry provides secure, private Docker image storage on Google Cloud Platform. Our API follows the Docker Registry API specification, so we are fully compatible with the Docker CLI client, as well as standard tooling using the Docker Registry API.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc-control.googleapis.com\",\"config\":{\"name\":\"dataproc-control.googleapis.com\",\"title\":\"Cloud Dataproc Control API\",\"documentation\":{\"summary\":\"Manages internal resources for Google Cloud Dataproc.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dataproc.googleapis.com\",\"config\":{\"name\":\"dataproc.googleapis.com\",\"title\":\"Cloud Dataproc API\",\"documentation\":{\"summary\":\"Manages Hadoop-based clusters and jobs on Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/datastore.googleapis.com\",\"config\":{\"name\":\"datastore.googleapis.com\",\"title\":\"Cloud Datastore API\",\"documentation\":{\"summary\":\"Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/deploymentmanager.googleapis.com\",\"config\":{\"name\":\"deploymentmanager.googleapis.com\",\"title\":\"Cloud Deployment Manager V2 API\",\"documentation\":{\"summary\":\"The Google Cloud Deployment Manager v2 API provides services for configuring, deploying, and\\nviewing Google Cloud services and APIs via templates which specify deployments of Cloud\\nresources.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/dns.googleapis.com\",\"config\":{\"name\":\"dns.googleapis.com\",\"title\":\"Cloud DNS API\",\"documentation\":{},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iam.googleapis.com\",\"config\":{\"name\":\"iam.googleapis.com\",\"title\":\"Identity and Access Management (IAM) API\",\"documentation\":{\"summary\":\"Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"iam_service_account\",\"displayName\":\"IAM Service Account\",\"description\":\"An IAM Service Account.\",\"labels\":[{\"key\":\"project_id\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"unique_id\",\"description\":\"The unique_id of the service account.\"}],\"launchStage\":\"GA\"},{\"type\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"displayName\":\"Workload Identity Pool Provider\",\"description\":\"A workload identity pool provider.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The location of the resource.\"},{\"key\":\"pool_id\",\"description\":\"The ID of the provider's workload identity pool parent resource.\"},{\"key\":\"provider_id\",\"description\":\"The ID of the workload identity pool provider resource.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"iam.googleapis.com/WorkloadIdentityPoolProvider\",\"metrics\":[\"iam.googleapis.com/workload_identity_federation/count\",\"iam.googleapis.com/workload_identity_federation/key_usage_count\"]},{\"monitoredResource\":\"iam_service_account\",\"metrics\":[\"iam.googleapis.com/service_account/authn_events_count\",\"iam.googleapis.com/service_account/key/authn_events_count\",\"iam.googleapis.com/service_account/authn_events_count_preprod\",\"iam.googleapis.com/service_account/key/authn_events_count_preprod\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/iamcredentials.googleapis.com\",\"config\":{\"name\":\"iamcredentials.googleapis.com\",\"title\":\"IAM Service Account Credentials API\",\"documentation\":{\"summary\":\"Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/logging.googleapis.com\",\"config\":{\"name\":\"logging.googleapis.com\",\"title\":\"Cloud Logging API\",\"documentation\":{\"summary\":\"Writes log entries and manages your Cloud Logging configuration.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"logging.googleapis.com/ChargedProject\",\"displayName\":\"Cloud logging target\",\"description\":\"A cloud logging specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'logging.googleapis.com').\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"logging.googleapis.com/ChargedProject\",\"metrics\":[\"logging.googleapis.com/billing/ingested_bytes\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/memcache.googleapis.com\",\"config\":{\"name\":\"memcache.googleapis.com\",\"title\":\"Cloud Memorystore for Memcached API\",\"documentation\":{\"summary\":\"Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"memcache.googleapis.com/MemcacheNode\",\"displayName\":\"Memorystore Memcached Node\",\"description\":\"A node of a Memorystore Memcached instance.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"service\",\"description\":\"The API service name.\"},{\"key\":\"location\",\"description\":\"Google Cloud zone where the Memcached node is located.\"},{\"key\":\"memcache_region\",\"description\":\"Cloud region where this memcache node is located, e.g. us-east1 or us-west1. Won't be exposed to customer.\"},{\"key\":\"instance_id\",\"description\":\"Customer given identifier unique among Memcached instances in the region that this node belongs to.\"},{\"key\":\"node_id\",\"description\":\"Name of this Memcached node which is unique within a single Memcached instance.\"},{\"key\":\"uid\",\"description\":\"A string to uniquely distinguish an instance of custom root.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"memcache.googleapis.com/MemcacheNode\",\"metrics\":[\"memcache.googleapis.com/node/active_connections\",\"memcache.googleapis.com/node/cache_memory\",\"memcache.googleapis.com/node/cluster_config_op_count\",\"memcache.googleapis.com/node/cluster_config_version\",\"memcache.googleapis.com/node/cpu/usage_time\",\"memcache.googleapis.com/node/eviction_count\",\"memcache.googleapis.com/node/items\",\"memcache.googleapis.com/node/operation_count\",\"memcache.googleapis.com/node/received_bytes_count\",\"memcache.googleapis.com/node/sent_bytes_count\",\"memcache.googleapis.com/node/uptime\",\"memcache.googleapis.com/node/hash_table_size\",\"memcache.googleapis.com/node/cache_total_malloced\",\"memcache.googleapis.com/node/total_connections\"]},{\"monitoredResource\":\"saas_instance\",\"metrics\":[\"memcache.googleapis.com/instance/create_latencies\",\"memcache.googleapis.com/instance/increase_target_size_call_count\",\"memcache.googleapis.com/instance/scale_down_latencies\",\"memcache.googleapis.com/instance/scale_up_latencies\",\"memcache.googleapis.com/instance/rollback_operation_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/monitoring.googleapis.com\",\"config\":{\"name\":\"monitoring.googleapis.com\",\"title\":\"Cloud Monitoring API\",\"documentation\":{\"summary\":\"Manages your Cloud Monitoring data and configurations.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"monitoring.googleapis.com/ChargedProject\",\"displayName\":\"Cloud monitoring target\",\"description\":\"A cloud monitoring specialization target schema of cloud.ChargedProject.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The monitored resource container. Could be project, workspace, etc.\"},{\"key\":\"location\",\"description\":\"The service-specific notion of location.\"},{\"key\":\"service\",\"description\":\"The name of the API service with which the data is associated (e.g.,'monitoring.googleapis.com').\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"monitoring.googleapis.com/MetricStatistics\",\"displayName\":\"Metric Statistics\",\"description\":\"Information about a user-written metric in Cloud Monitoring.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"metric_type\",\"description\":\"The metric type.\"}],\"launchStage\":\"BETA\"},{\"type\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"displayName\":\"Metric Ingestion Attribution\",\"description\":\"Attribution for metric ingestion.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project to which the metric is written, such as 'my-project'.\"},{\"key\":\"location\",\"description\":\"The cloud region where the metric was received.\"},{\"key\":\"attribution_dimension\",\"description\":\"The dimension used for attribution reporting. It is not recommended that aggregations are performed across dimensions because a single metric point can be recorded with multiple dimensions which could cause double counting. Currently only \\\"namespace\\\" is supported.\"},{\"key\":\"attribution_id\",\"description\":\"The attribution id of the source of the metric write.\"}],\"launchStage\":\"BETA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"monitoring.googleapis.com/ChargedProject\",\"metrics\":[\"monitoring.googleapis.com/billing/bytes_ingested\",\"monitoring.googleapis.com/billing/samples_ingested\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricStatistics\",\"metrics\":[\"monitoring.googleapis.com/collection/write_request_count\",\"monitoring.googleapis.com/collection/write_request_point_count\"]},{\"monitoredResource\":\"monitoring.googleapis.com/MetricIngestionAttribution\",\"metrics\":[\"monitoring.googleapis.com/collection/attribution/sample_count\",\"monitoring.googleapis.com/collection/attribution/write_sample_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/orgpolicy.googleapis.com\",\"config\":{\"name\":\"orgpolicy.googleapis.com\",\"title\":\"Organization Policy API\",\"documentation\":{\"summary\":\"The Org Policy API allows users to configure governance rules on their GCP resources across the Cloud Resource Hierarchy.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/osconfig.googleapis.com\",\"config\":{\"name\":\"osconfig.googleapis.com\",\"title\":\"OS Config API\",\"documentation\":{\"summary\":\"OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"osconfig.googleapis.com/PatchJob\",\"displayName\":\"Patch Job\",\"description\":\"A patch job ran by VM Manager.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The GCP project associated with the patch job.\"},{\"key\":\"location\",\"description\":\"The location that contains the patch job.\"},{\"key\":\"id\",\"description\":\"Id uniquely identifying the patch job.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"osconfig.googleapis.com/PatchJob\",\"metrics\":[\"osconfig.googleapis.com/patch/job/instance_state\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/oslogin.googleapis.com\",\"config\":{\"name\":\"oslogin.googleapis.com\",\"title\":\"Cloud OS Login API\",\"documentation\":{\"summary\":\"You can use OS Login to manage access to your VM instances using IAM roles.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/privateca.googleapis.com\",\"config\":{\"name\":\"privateca.googleapis.com\",\"title\":\"Certificate Authority API\",\"documentation\":{\"summary\":\"The Certificate Authority Service API is a highly-available, scalable service that enables you\\nto simplify and automate the management of private certificate authorities (CAs) while staying\\nin control of your private keys.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"privateca.googleapis.com/CertificateAuthority\",\"displayName\":\"Certificate Authority\",\"description\":\"A managed Certificate Authority.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as \\\"my-project\\\".\"},{\"key\":\"location\",\"description\":\"The Cloud region where the Certificate Authority is located.\"},{\"key\":\"ca_pool_id\",\"description\":\"The Certificate Authority Pool ID.\"},{\"key\":\"certificate_authority_id\",\"description\":\"The Certificate Authority ID.\"}],\"launchStage\":\"GA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/kms/key_issue\",\"privateca.googleapis.com/gcs/bucket_issue\",\"privateca.googleapis.com/ca/cert_expiration\",\"privateca.googleapis.com/ca/cert_revoked\",\"privateca.googleapis.com/ca/cert_chain_expiration\",\"privateca.googleapis.com/ca/resource_state\"]},{\"monitoredResource\":\"privateca.googleapis.com/CertificateAuthority\",\"metrics\":[\"privateca.googleapis.com/ca/cert/create_failure_count\",\"privateca.googleapis.com/ca/cert/ca_cert_creation\",\"privateca.googleapis.com/ca/cert/create_count\",\"privateca.googleapis.com/ca/cert/create_request_count\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/pubsub.googleapis.com\",\"config\":{\"name\":\"pubsub.googleapis.com\",\"title\":\"Cloud Pub/Sub API\",\"documentation\":{\"summary\":\"Provides reliable, many-to-many, asynchronous messaging between applications.\\n\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/redis.googleapis.com\",\"config\":{\"name\":\"redis.googleapis.com\",\"title\":\"Google Cloud Memorystore for Redis API\",\"documentation\":{\"summary\":\"Creates and manages Redis instances on the Google Cloud Platform.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"redis_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"redis.googleapis.com/instance_id\"},{\"key\":\"redis.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"saas_instance_node\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"saasaccelerator.googleapis.com/service_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"saasaccelerator.googleapis.com/consumer_project\"},{\"key\":\"saasaccelerator.googleapis.com/instance_id\"},{\"key\":\"saasaccelerator.googleapis.com/node_id\"},{\"key\":\"cloud.googleapis.com/uid\"}]},{\"type\":\"redis.googleapis.com/RedisInstance\",\"displayName\":\"Cloud Memorystore Redis Instance\",\"description\":\"A Redis instance hosted on Google Cloud Memorystore.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The identifier of the GCP project associated with this resource, such as 'my-project'.\"},{\"key\":\"region\",\"description\":\"The Google Cloud region in which the managed instance is running.\"},{\"key\":\"instance_id\",\"description\":\"The ID of the managed instance.\"},{\"key\":\"node_id\",\"description\":\"The ID of a Redis node within the managed instance.\"},{\"key\":\"instance_uid\",\"description\":\"Instance uid.\"}],\"launchStage\":\"ALPHA\"}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"redis.googleapis.com/RedisInstance\",\"metrics\":[\"redis.googleapis.com/availability/instance_eligible\",\"redis.googleapis.com/availability/instance_probe_failure_duration\",\"redis.googleapis.com/availability/instance_probes\",\"redis.googleapis.com/availability/instance_probes_since_last_success\",\"redis.googleapis.com/clients/biggest_input_buf\",\"redis.googleapis.com/clients/blocked\",\"redis.googleapis.com/clients/connected\",\"redis.googleapis.com/clients/longest_output_list\",\"redis.googleapis.com/clients/recent_max_input_buffer\",\"redis.googleapis.com/clients/recent_max_output_buffer\",\"redis.googleapis.com/commands/calls\",\"redis.googleapis.com/commands/usec\",\"redis.googleapis.com/container/image\",\"redis.googleapis.com/container/memory_limit\",\"redis.googleapis.com/container/memory_usage\",\"redis.googleapis.com/container/state\",\"redis.googleapis.com/container/uptime\",\"redis.googleapis.com/container/version\",\"redis.googleapis.com/hybrid_lease/applied_role\",\"redis.googleapis.com/hybrid_lease/role_checks\",\"redis.googleapis.com/hybrid_lease/lock_age\",\"redis.googleapis.com/hybrid_lease/promise_age\",\"redis.googleapis.com/hybrid_lease/primary_readiness\",\"redis.googleapis.com/hybrid_lease/setting\",\"redis.googleapis.com/hybrid_lease/latency\",\"redis.googleapis.com/hybrid_lease/role_changes\",\"redis.googleapis.com/hybrid_lease/run_id\",\"redis.googleapis.com/hybrid_lease/running_mode\",\"redis.googleapis.com/keyspace/avg_ttl\",\"redis.googleapis.com/keyspace/expires\",\"redis.googleapis.com/keyspace/keys\",\"redis.googleapis.com/os/image\",\"redis.googleapis.com/persistence/aof/base_size\",\"redis.googleapis.com/persistence/aof/buffer_length\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/current_size\",\"redis.googleapis.com/persistence/aof/delayed_fsync\",\"redis.googleapis.com/persistence/aof/enabled\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled\",\"redis.googleapis.com/persistence/loading_eta_seconds\",\"redis.googleapis.com/persistence/loading_loaded_bytes\",\"redis.googleapis.com/persistence/loading_total_bytes\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec\",\"redis.googleapis.com/persistence/rdb/loading\",\"redis.googleapis.com/persistence/step_latency\",\"redis.googleapis.com/persistence/step_rdb_size\",\"redis.googleapis.com/redis_version\",\"redis.googleapis.com/replication/is_master\",\"redis.googleapis.com/replication/master/slaves\",\"redis.googleapis.com/replication/master/slaves/lag\",\"redis.googleapis.com/replication/master/slaves/offset\",\"redis.googleapis.com/replication/master_link_status\",\"redis.googleapis.com/replication/master_repl_offset\",\"redis.googleapis.com/replication/role\",\"redis.googleapis.com/security/auth_enabled\",\"redis.googleapis.com/server/redis_version\",\"redis.googleapis.com/server/uptime\",\"redis.googleapis.com/stats/active_defrag_hits\",\"redis.googleapis.com/stats/active_defrag_key_hits\",\"redis.googleapis.com/stats/active_defrag_key_misses\",\"redis.googleapis.com/stats/active_defrag_misses\",\"redis.googleapis.com/stats/connections/total\",\"redis.googleapis.com/stats/cpu\",\"redis.googleapis.com/stats/evicted_keys\",\"redis.googleapis.com/stats/expired_keys\",\"redis.googleapis.com/stats/io_threaded/reads_processed\",\"redis.googleapis.com/stats/io_threaded/writes_processed\",\"redis.googleapis.com/stats/keyspace_hits\",\"redis.googleapis.com/stats/keyspace_misses\",\"redis.googleapis.com/stats/latest_fork_usec\",\"redis.googleapis.com/stats/memory/active_defrag_running\",\"redis.googleapis.com/stats/memory/instance_capacity\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects\",\"redis.googleapis.com/stats/memory/maxmemory\",\"redis.googleapis.com/stats/memory/oom_prevention_on\",\"redis.googleapis.com/stats/memory/oom_prevention_duration\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump\",\"redis.googleapis.com/stats/memory/total_system_mem_usage\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak\",\"redis.googleapis.com/stats/memory/total_system_memory\",\"redis.googleapis.com/stats/memory/usage\",\"redis.googleapis.com/stats/memory/usage_lua\",\"redis.googleapis.com/stats/memory/usage_peak\",\"redis.googleapis.com/stats/memory/usage_rss\",\"redis.googleapis.com/stats/migrate_cached_sockets\",\"redis.googleapis.com/stats/pubsub/channels\",\"redis.googleapis.com/stats/pubsub/patterns\",\"redis.googleapis.com/stats/reject_connections_count\",\"redis.googleapis.com/stats/sync_full\",\"redis.googleapis.com/stats/sync_partial_err\",\"redis.googleapis.com/stats/tracking/clients\",\"redis.googleapis.com/stats/tracking/total_keys\",\"redis.googleapis.com/stats/total_net_bytes\",\"redis.googleapis.com/vm/external_ips\",\"redis.googleapis.com/vm/params/disk_based_swap\",\"redis.googleapis.com/vm/params/file_max\",\"redis.googleapis.com/vm/params/nf_conntrack_count\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize\",\"redis.googleapis.com/vm/params/nf_conntrack_max\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait\",\"redis.googleapis.com/vm/params/somaxconn\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled\",\"redis.googleapis.com/envoyproxy/connection/request_count\",\"redis.googleapis.com/envoyproxy/connection/rejected_connection_count\",\"redis.googleapis.com/envoyproxy/server/connection_count\",\"redis.googleapis.com/envoyproxy/server/uptime\",\"redis.googleapis.com/cloud/mem_store/experiment_status\",\"redis.googleapis.com/cloud/mem_store/operation_latency\",\"redis.googleapis.com/cloud/mem_store/repair_attempts\",\"redis.googleapis.com/cloud/mem_store/repair_actions\",\"redis.googleapis.com/cloud/mem_store/repair_latency\",\"redis.googleapis.com/cloud/mem_store/get_health_latency\",\"redis.googleapis.com/cloud/mem_store/vm_metadata_not_found\",\"redis.googleapis.com/cloud/mem_store/failed_repair_actions\",\"redis.googleapis.com/cloud/mem_store/failed_repair_operation\",\"redis.googleapis.com/cloud/mem_store/repair_container_state\",\"redis.googleapis.com/cloud/mem_store/repair_cause_operation\",\"redis.googleapis.com/cloud/mem_store/update_attempts\",\"redis.googleapis.com/cloud/mem_store/node_recreate_latency\",\"redis.googleapis.com/cloud/mem_store/failed_hide_attempts\",\"redis.googleapis.com/cloud/mem_store/failed_unhide_attempts\",\"redis.googleapis.com/cloud/mem_store/failover_count\",\"redis.googleapis.com/cloud/mem_store/failover_latency\",\"redis.googleapis.com/cloud/mem_store/scaling_latency\",\"redis.googleapis.com/cloud/mem_store/zone_advisor_recommendation\",\"redis.googleapis.com/control_plane/function_result\",\"redis.googleapis.com/control_plane/function_latency\",\"redis.googleapis.com/cloud/control_plane/function_result\",\"redis.googleapis.com/cloud/control_plane/function_latency\",\"redis.googleapis.com/security/tls/mode\",\"redis.googleapis.com/security/tls/ttl\",\"redis.googleapis.com/cloud/mem_store/iam_policy/binding_count\",\"redis.googleapis.com/recovery/attempts_since_last_success\",\"redis.googleapis.com/recovery/estimated_recovery_time\",\"redis.googleapis.com/recovery/last_duration\",\"redis.googleapis.com/recovery/last_status\",\"redis.googleapis.com/recovery/time_elapsed\",\"redis.googleapis.com/snapshot/attempts\",\"redis.googleapis.com/snapshot/last_duration\",\"redis.googleapis.com/snapshot/last_status\",\"redis.googleapis.com/snapshot/mode\",\"redis.googleapis.com/snapshot/time_elapsed\",\"redis.googleapis.com/snapshot/time_since_last_good_snapshot_started\",\"redis.googleapis.com/snapshot/time_to_next\",\"redis.googleapis.com/snapshot/internal/expected_staleness\",\"redis.googleapis.com/cloud/mem_store/project_level_operation_latencies\",\"redis.googleapis.com/cloud/mem_store/resource_event_action\",\"redis.googleapis.com/cloud/control_plane/project_level_function_result_count\",\"redis.googleapis.com/cloud/control_plane/project_level_function_latencies\",\"redis.googleapis.com/cross_region_access/leaked_rule_instance\",\"redis.googleapis.com/hybrid_lease/member\",\"redis.googleapis.com/recovery/last_avg_transfer_rate\",\"redis.googleapis.com/recovery/transferred_bytes\",\"redis.googleapis.com/security/cmek_enabled\",\"redis.googleapis.com/snapshot/last_avg_transfer_rate\",\"redis.googleapis.com/snapshot/transferred_bytes\",\"redis.googleapis.com/snapshot/interval\",\"redis.googleapis.com/snapshot/relative_start_time\"]},{\"monitoredResource\":\"redis_instance\",\"metrics\":[\"redis.googleapis.com/clients/biggest_input_buf_v2\",\"redis.googleapis.com/clients/blocked_v2\",\"redis.googleapis.com/clients/connected_v2\",\"redis.googleapis.com/clients/longest_output_list_v2\",\"redis.googleapis.com/clients/recent_max_input_buffer_v2\",\"redis.googleapis.com/clients/recent_max_output_buffer_v2\",\"redis.googleapis.com/commands/calls_v2\",\"redis.googleapis.com/commands/usec_v2\",\"redis.googleapis.com/container/image_v2\",\"redis.googleapis.com/container/memory_limit_v2\",\"redis.googleapis.com/container/memory_usage_v2\",\"redis.googleapis.com/container/state_v2\",\"redis.googleapis.com/container/uptime_v2\",\"redis.googleapis.com/container/version_v2\",\"redis.googleapis.com/keyspace/avg_ttl_v2\",\"redis.googleapis.com/keyspace/expires_v2\",\"redis.googleapis.com/keyspace/keys_v2\",\"redis.googleapis.com/os/image_v2\",\"redis.googleapis.com/persistence/aof/base_size_v2\",\"redis.googleapis.com/persistence/aof/buffer_length_v2\",\"redis.googleapis.com/persistence/aof/current_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/current_size_v2\",\"redis.googleapis.com/persistence/aof/delayed_fsync_v2\",\"redis.googleapis.com/persistence/aof/enabled_v2\",\"redis.googleapis.com/persistence/aof/last_rewrite_time_sec_v2\",\"redis.googleapis.com/persistence/aof/pending_bio_fsync_v2\",\"redis.googleapis.com/persistence/aof/rewrite_buffer_length_v2\",\"redis.googleapis.com/persistence/aof/rewrite_scheduled_v2\",\"redis.googleapis.com/persistence/loading_eta_seconds_v2\",\"redis.googleapis.com/persistence/loading_loaded_bytes_v2\",\"redis.googleapis.com/persistence/loading_total_bytes_v2\",\"redis.googleapis.com/persistence/rdb/bgsave_in_progress_v2\",\"redis.googleapis.com/persistence/rdb/changes_since_last_save_v2\",\"redis.googleapis.com/persistence/rdb/current_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/last_bgsave_time_sec_v2\",\"redis.googleapis.com/persistence/rdb/loading_v2\",\"redis.googleapis.com/replication/is_master_v2\",\"redis.googleapis.com/replication/master/slaves/lag_v2\",\"redis.googleapis.com/replication/master/slaves/offset_v2\",\"redis.googleapis.com/replication/master/slaves_v2\",\"redis.googleapis.com/replication/master_link_status_v2\",\"redis.googleapis.com/replication/master_repl_offset_v2\",\"redis.googleapis.com/replication/role_v2\",\"redis.googleapis.com/server/redis_version_v2\",\"redis.googleapis.com/server/uptime_v2\",\"redis.googleapis.com/stats/active_defrag_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_hits_v2\",\"redis.googleapis.com/stats/active_defrag_key_misses_v2\",\"redis.googleapis.com/stats/active_defrag_misses_v2\",\"redis.googleapis.com/stats/connections/total_v2\",\"redis.googleapis.com/stats/cpu_v2\",\"redis.googleapis.com/stats/evicted_keys_v2\",\"redis.googleapis.com/stats/expired_keys_v2\",\"redis.googleapis.com/stats/keyspace_hits_v2\",\"redis.googleapis.com/stats/keyspace_misses_v2\",\"redis.googleapis.com/stats/latest_fork_usec_v2\",\"redis.googleapis.com/stats/memory/active_defrag_running_v2\",\"redis.googleapis.com/stats/memory/lazyfree_pending_objects_v2\",\"redis.googleapis.com/stats/memory/maxmemory_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_duration_v2\",\"redis.googleapis.com/stats/memory/oom_prevention_threshold_v2\",\"redis.googleapis.com/stats/memory/private_bytes_for_rdb_dump_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_peak_v2\",\"redis.googleapis.com/stats/memory/total_system_mem_usage_v2\",\"redis.googleapis.com/stats/memory/total_system_memory_v2\",\"redis.googleapis.com/stats/memory/usage_lua_v2\",\"redis.googleapis.com/stats/memory/usage_peak_v2\",\"redis.googleapis.com/stats/memory/usage_rss_v2\",\"redis.googleapis.com/stats/memory/usage_v2\",\"redis.googleapis.com/stats/migrate_cached_sockets_v2\",\"redis.googleapis.com/stats/pubsub/channels_v2\",\"redis.googleapis.com/stats/pubsub/patterns_v2\",\"redis.googleapis.com/stats/reject_connections_count_v2\",\"redis.googleapis.com/stats/sync_full_v2\",\"redis.googleapis.com/stats/sync_partial_err_v2\",\"redis.googleapis.com/stats/total_net_bytes_v2\",\"redis.googleapis.com/vm/external_ips_v2\",\"redis.googleapis.com/vm/params/disk_based_swap_v2\",\"redis.googleapis.com/vm/params/file_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_count_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_hashsize_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_max_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_established_v2\",\"redis.googleapis.com/vm/params/nf_conntrack_tcp_timeout_time_wait_v2\",\"redis.googleapis.com/vm/params/somaxconn_v2\",\"redis.googleapis.com/vm/params/tcp_max_syn_backlog_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_defrag_v2\",\"redis.googleapis.com/vm/params/transparent_hugepage_enabled_v2\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/run.googleapis.com\",\"config\":{\"name\":\"run.googleapis.com\",\"title\":\"Cloud Run Admin API\",\"documentation\":{\"summary\":\"Deploy and manage user provided container images that scale automatically based on incoming requests. The Cloud Run Admin API v1 follows the Knative Serving API specification, while v2 is aligned with Google Cloud AIP-based API standards, as described in https://google.aip.dev/.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoredResources\":[{\"type\":\"run.googleapis.com/revision\",\"labels\":[{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"run.googleapis.com/service_name\"},{\"key\":\"run.googleapis.com/revision_name\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"run.googleapis.com/configuration_name\"},{\"key\":\"cloud.googleapis.com/uid\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"run.googleapis.com/revision\",\"metrics\":[\"run.googleapis.com/request_count\",\"run.googleapis.com/request_latencies\",\"run.googleapis.com/container/instance_time\",\"run.googleapis.com/container/labelled_instance_time\",\"run.googleapis.com/container/cpu/allocation_time\",\"run.googleapis.com/container/cpu/scaled_usage\",\"run.googleapis.com/container/memory/allocation_time\",\"run.googleapis.com/container/memory/utilization\",\"run.googleapis.com/tenant_project\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_recordedtime_latencies\",\"run.googleapis.com/internal/eventflow_filter/cloudevent_time_latencies\",\"run.googleapis.com/internal/eventflow_filter/transformation_count\",\"run.googleapis.com/internal/eventflow_filter/transformation_latencies\",\"run.googleapis.com/internal/pod_service_client/request_count\",\"run.googleapis.com/internal/pod_service_client/request_latencies\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceconsumermanagement.googleapis.com\",\"config\":{\"name\":\"serviceconsumermanagement.googleapis.com\",\"title\":\"Service Consumer Management API\",\"documentation\":{\"summary\":\"Manages the service consumers of a Service Infrastructure service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicemanagement.googleapis.com\",\"config\":{\"name\":\"servicemanagement.googleapis.com\",\"title\":\"Service Management API\",\"documentation\":{\"summary\":\"Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/servicenetworking.googleapis.com\",\"config\":{\"name\":\"servicenetworking.googleapis.com\",\"title\":\"Service Networking API\",\"documentation\":{\"summary\":\"Provides automatic management of network configurations necessary for certain services.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/serviceusage.googleapis.com\",\"config\":{\"name\":\"serviceusage.googleapis.com\",\"title\":\"Service Usage API\",\"documentation\":{\"summary\":\"Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/source.googleapis.com\",\"config\":{\"name\":\"source.googleapis.com\",\"title\":\"Legacy Cloud Source Repositories API\",\"documentation\":{\"summary\":\"Access source code repositories hosted by Google.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/spanner.googleapis.com\",\"config\":{\"name\":\"spanner.googleapis.com\",\"title\":\"Cloud Spanner API\",\"documentation\":{\"summary\":\"Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\",\"serviceusage.googleapis.com/billing-enabled\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sql-component.googleapis.com\",\"config\":{\"name\":\"sql-component.googleapis.com\",\"title\":\"Cloud SQL\",\"documentation\":{\"summary\":\"Google Cloud SQL is a hosted and fully managed relational database service\\n on Google's infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/sqladmin.googleapis.com\",\"config\":{\"name\":\"sqladmin.googleapis.com\",\"title\":\"Cloud SQL Admin API\",\"documentation\":{\"summary\":\"API for Cloud SQL database instance management\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-api.googleapis.com\",\"config\":{\"name\":\"storage-api.googleapis.com\",\"title\":\"Google Cloud Storage JSON API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoring\":{}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage-component.googleapis.com\",\"config\":{\"name\":\"storage-component.googleapis.com\",\"title\":\"Cloud Storage\",\"documentation\":{\"summary\":\"Google Cloud Storage is a RESTful service for storing and accessing your data on Google's\\n infrastructure.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"serviceruntime.googleapis.com/api\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"serviceruntime.googleapis.com/api_version\"},{\"key\":\"serviceruntime.googleapis.com/api_method\"},{\"key\":\"serviceruntime.googleapis.com/consumer_project\"},{\"key\":\"cloud.googleapis.com/project\"},{\"key\":\"cloud.googleapis.com/service\"}]},{\"type\":\"serviceruntime.googleapis.com/consumer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]},{\"type\":\"serviceruntime.googleapis.com/producer_quota\",\"labels\":[{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/service\"},{\"key\":\"cloud.googleapis.com/resource_id\"},{\"key\":\"cloud.googleapis.com/resource_node\"},{\"key\":\"cloud.googleapis.com/consumer_resource_node\"},{\"key\":\"cloud.googleapis.com/quota_metric\"},{\"key\":\"cloud.googleapis.com/quota_location\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"serviceruntime.googleapis.com/api\",\"metrics\":[\"serviceruntime.googleapis.com/api/consumer/request_count\",\"serviceruntime.googleapis.com/api/consumer/error_count\",\"serviceruntime.googleapis.com/api/consumer/quota_used_count\",\"serviceruntime.googleapis.com/api/consumer/quota_refund_count\",\"serviceruntime.googleapis.com/api/consumer/total_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_overhead_latencies\",\"serviceruntime.googleapis.com/api/consumer/backend_latencies\",\"serviceruntime.googleapis.com/api/consumer/request_sizes\",\"serviceruntime.googleapis.com/api/consumer/response_sizes\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_end_user_country\",\"serviceruntime.googleapis.com/api/consumer/top_request_count_by_referer\",\"serviceruntime.googleapis.com/quota/used\",\"serviceruntime.googleapis.com/quota/limit\",\"serviceruntime.googleapis.com/quota/exceeded\",\"serviceruntime.googleapis.com/allocation/consumer/quota_used_count\"]},{\"monitoredResource\":\"serviceruntime.googleapis.com/consumer_quota\",\"metrics\":[\"serviceruntime.googleapis.com/quota/rate/consumer/used_count\",\"serviceruntime.googleapis.com/quota/rate/consumer/refund_count\",\"serviceruntime.googleapis.com/quota/allocation/consumer/usage\",\"serviceruntime.googleapis.com/quota/consumer/limit\",\"serviceruntime.googleapis.com/quota/consumer/exceeded\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"},{\"name\":\"projects/167984947943/services/storage.googleapis.com\",\"config\":{\"name\":\"storage.googleapis.com\",\"title\":\"Cloud Storage API\",\"documentation\":{\"summary\":\"Lets you store and retrieve potentially-large, immutable data objects.\"},\"quota\":{},\"authentication\":{},\"usage\":{\"requirements\":[\"serviceusage.googleapis.com/tos/cloud\"]},\"monitoredResources\":[{\"type\":\"storage.googleapis.com/StorageLocation\",\"displayName\":\"Storage Location of GCS Buckets\",\"description\":\"Storage Location of GCS Buckets.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The storage location of the bucket.\"}],\"launchStage\":\"EARLY_ACCESS\"},{\"type\":\"storage.googleapis.com/Location\",\"displayName\":\"GCS Location\",\"description\":\"GCS Location.\",\"labels\":[{\"key\":\"resource_container\",\"description\":\"The project number of the bucket.\"},{\"key\":\"location\",\"description\":\"The location of the bucket.\"}],\"launchStage\":\"ALPHA\"},{\"type\":\"storage.googleapis.com/storage\",\"labels\":[{\"key\":\"storage.googleapis.com/bucket_name\"},{\"key\":\"storage.googleapis.com/bucket_storage_class\"},{\"key\":\"cloud.googleapis.com/location\"},{\"key\":\"cloud.googleapis.com/uid\"},{\"key\":\"cloud.googleapis.com/project\"}]}],\"monitoring\":{\"consumerDestinations\":[{\"monitoredResource\":\"storage.googleapis.com/storage\",\"metrics\":[\"storage.googleapis.com/storage/total_bytes\",\"storage.googleapis.com/storage/object_count\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/usage\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/exceeded\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/exceeded\",\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/usage\"]},{\"monitoredResource\":\"storage.googleapis.com/StorageLocation\",\"metrics\":[\"storage.googleapis.com/quota/in_multi_region_read_bandwidth/limit\",\"storage.googleapis.com/quota/in_multi_region_read_bandwidth_preview/limit\"]},{\"monitoredResource\":\"storage.googleapis.com/Location\",\"metrics\":[\"storage.googleapis.com/quota/turbo_replication_ingress_bandwidth/limit\"]}]}},\"state\":\"ENABLED\",\"parent\":\"projects/167984947943\"}]}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Fri, 25 Mar 2022 13:57:06 GMT" - }, - { - "name": "server", - "value": "ESF" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 483, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 200, - "statusText": "OK" - }, - "startedDateTime": "2022-03-25T13:57:06.327Z", - "time": 617, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 617 - } - } - ], - "pages": [], - "version": "1.2" - } -} diff --git a/src/config.test.ts b/src/config.test.ts new file mode 100644 index 00000000..e68649db --- /dev/null +++ b/src/config.test.ts @@ -0,0 +1,85 @@ +import { IntegrationProviderAuthorizationError } from '@jupiterone/integration-sdk-core'; +import { createMockExecutionContext } from '@jupiterone/integration-sdk-testing'; +import { + DEFAULT_INTEGRATION_CONFIG_SERVICE_ACCOUNT_KEY_FILE, + integrationConfig, +} from '../test/config'; +import { + withGoogleCloudRecording, + getMatchRequestsBy, +} from '../test/recording'; +import { invocationConfig } from './index'; +import { IntegrationConfig } from './types'; + +describe('#config - validateInvocation tests', () => { + ['project_id', 'private_key', 'client_email'].forEach((k) => { + test(`#config - validateInvocation tests: should throw if missing "${k}" from serviceAccountKeyFile.`, async () => { + await expect( + invocationConfig.validateInvocation?.( + createMockExecutionContext({ + instanceConfig: { + serviceAccountKeyFile: JSON.stringify({ + ...DEFAULT_INTEGRATION_CONFIG_SERVICE_ACCOUNT_KEY_FILE, + [k]: undefined, + }), + } as IntegrationConfig, + }), + ), + ).rejects.toThrow( + `Invalid contents of "serviceAccountKeyFile" passed to integration (invalidFileKeys=${k})` || + 'Missing a required integration config value {serviceAccountKeyFile}', + ); + }); + }); + + test('#config - validateInvocation tests: should be successful with the correct credentials.', async () => { + await withGoogleCloudRecording( + { + directory: __dirname, + name: 'validateInvocation:success', + options: { + matchRequestsBy: getMatchRequestsBy(integrationConfig), + }, + }, + async () => { + await expect( + invocationConfig.validateInvocation?.( + createMockExecutionContext({ + instanceConfig: integrationConfig, + }), + ), + ).resolves.toBeUndefined(); + }, + ); + }); + + test('When service account key file is complete and not expired but project id is incorrect, error should be instance of IntegrationProviderAuthenticationError and thorow a specific message.', async () => { + await withGoogleCloudRecording( + { + directory: __dirname, + name: 'validateInvocation:failure:invalidProjectId', + options: { + matchRequestsBy: getMatchRequestsBy(integrationConfig), + recordFailedRequests: true, + }, + }, + async () => { + let error; + try { + await invocationConfig.validateInvocation?.( + createMockExecutionContext({ + instanceConfig: integrationConfig, + }), + ); + } catch (err) { + error = err; + } + expect(error).not.toBeUndefined(); + expect(error.message).toContain( + "Provider authorization failed at https://serviceusage.googleapis.com/v1/projects/j1-gc-integration-dev-v2/services?pageSize=200&filter=state%3AENABLED: 403 Project 'j1-gc-integration-dev-v312' not found or permission denied", + ); + expect(error).toBeInstanceOf(IntegrationProviderAuthorizationError); + }, + ); + }); +}); diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 00000000..ff48d0e9 --- /dev/null +++ b/src/config.ts @@ -0,0 +1,22 @@ +import { IntegrationExecutionContext } from '@jupiterone/integration-sdk-core'; +import { ServiceUsageClient } from './steps/service-usage/client'; +import { IntegrationConfig, SerializedIntegrationConfig } from './types'; +import { deserializeIntegrationConfig } from './utils/integrationConfig'; + +export async function executeTestRequest(config: IntegrationConfig) { + const googleClient = new ServiceUsageClient({ config }); + + return googleClient.collectEnabledServices(); +} + +export async function validateInvocation( + context: IntegrationExecutionContext, +) { + const { instance } = context; + const { config: serializedIntegrationConfig } = instance; + const config = (context.instance.config = deserializeIntegrationConfig( + serializedIntegrationConfig, + )); + + await executeTestRequest(config); +} diff --git a/src/getStepStartStateExtraTests.test.ts b/src/getStepStartStateExtraTests.test.ts index 2f1f4924..7cd06301 100644 --- a/src/getStepStartStateExtraTests.test.ts +++ b/src/getStepStartStateExtraTests.test.ts @@ -1,16 +1,11 @@ -import { - createMockExecutionContext, - Recording, -} from '@jupiterone/integration-sdk-testing'; +import { createMockExecutionContext } from '@jupiterone/integration-sdk-testing'; import { validateStepStartStates } from '@jupiterone/integration-sdk-runtime/dist/src/execution/validation'; -import { IntegrationConfig, invocationConfig } from '.'; +import { invocationConfig } from '.'; import { integrationConfig } from '../test/config'; import { getMatchRequestsBy, - setupGoogleCloudRecording, withGoogleCloudRecording, } from '../test/recording'; -import getStepStartStates from './getStepStartStates'; import { STEP_IAM_BINDINGS, STEP_CREATE_BASIC_ROLES, @@ -24,57 +19,43 @@ import { STEP_IAM_CUSTOM_ROLES, STEP_IAM_MANAGED_ROLES } from './steps/iam'; */ describe('createStartStatesBasedOnServiceAccountProject', () => { - let recording: Recording; - - beforeEach(() => { - recording = setupGoogleCloudRecording({ - directory: __dirname, - name: 'getStepStartStatesExtraTests', - }); - }); - - afterEach(async () => { - await recording.stop(); - }); - test('When the config.projectId is different from the config.serviceAccountKeyConfig.project_id, the Service Account Project will be used in determining `google_iam_binding` and `google_iam_role` steps.', async () => { - const context = createMockExecutionContext({ - instanceConfig: { - projectId: 'j1-gc-integration-dev-nested', // Project that doesn't have Cloud Asset API enabled and is in the same org as j1-gc-integration-dev-v3 - // Temporary tweak to make this test pass since its recording has been updated from the new organization/v3 - serviceAccountKeyFile: integrationConfig.serviceAccountKeyFile.replace( - 'j1-gc-integration-dev-v2', - 'j1-gc-integration-dev-v3', - ), - serviceAccountKeyConfig: { - ...integrationConfig.serviceAccountKeyConfig, - project_id: 'j1-gc-integration-dev-v3', + await withGoogleCloudRecording( + { + directory: __dirname, + name: 'getStepStartStatesExtraTests', + options: { + matchRequestsBy: getMatchRequestsBy(integrationConfig), }, }, - }); - - const stepStartStates = await getStepStartStates(context); - - expect(stepStartStates).toMatchObject({ - [STEP_IAM_BINDINGS]: { - disabled: false, - }, - [STEP_CREATE_BASIC_ROLES]: { - disabled: false, - }, - [STEP_CREATE_BINDING_ANY_RESOURCE_RELATIONSHIPS]: { - disabled: false, - }, - [STEP_CREATE_API_SERVICE_ANY_RESOURCE_RELATIONSHIPS]: { - disabled: false, - }, - [STEP_IAM_CUSTOM_ROLES]: { - disabled: false, - }, - [STEP_IAM_MANAGED_ROLES]: { - disabled: false, + async () => { + const stepStartStates = await invocationConfig.getStepStartStates?.( + createMockExecutionContext({ + instanceConfig: integrationConfig, + }), + ); + expect(stepStartStates).toMatchObject({ + [STEP_IAM_BINDINGS]: { + disabled: false, + }, + [STEP_CREATE_BASIC_ROLES]: { + disabled: false, + }, + [STEP_CREATE_BINDING_ANY_RESOURCE_RELATIONSHIPS]: { + disabled: false, + }, + [STEP_CREATE_API_SERVICE_ANY_RESOURCE_RELATIONSHIPS]: { + disabled: false, + }, + [STEP_IAM_CUSTOM_ROLES]: { + disabled: false, + }, + [STEP_IAM_MANAGED_ROLES]: { + disabled: false, + }, + }); }, - }); + ); }); }); diff --git a/src/getStepStartStates.ts b/src/getStepStartStates.ts index b1f5d122..ddedbfb5 100644 --- a/src/getStepStartStates.ts +++ b/src/getStepStartStates.ts @@ -163,8 +163,7 @@ import { import { SqlAdminSteps, STEP_SQL_ADMIN_INSTANCES } from './steps/sql-admin'; import { StorageStepsSpec } from './steps/storage/constants'; import { WebSecurityScannerSteps } from './steps/web-security-scanner/constants'; -import { IntegrationConfig, SerializedIntegrationConfig } from './types'; -import { deserializeIntegrationConfig } from './utils/integrationConfig'; +import { IntegrationConfig } from './types'; import { isMasterOrganizationInstance } from './utils/isMasterOrganizationInstance'; import { isSingleProjectInstance } from './utils/isSingleProjectInstance'; @@ -189,27 +188,11 @@ export function getOrganizationSteps() { ]; } -function validateInvocationConfig(config: SerializedIntegrationConfig) { - if (!config.serviceAccountKeyFile) { - throw new IntegrationValidationError( - 'Missing a required integration config value {serviceAccountKeyFile}', - ); - } -} - export default async function getStepStartStates( - context: IntegrationExecutionContext, + context: IntegrationExecutionContext, ): Promise { const { instance, logger } = context; - const { config: serializedIntegrationConfig } = instance; - - validateInvocationConfig(serializedIntegrationConfig); - - // Override the incoming config with the new config that has parsed service - // account data - const config = (context.instance.config = deserializeIntegrationConfig( - serializedIntegrationConfig, - )); + const { config } = instance; logger.info( { diff --git a/src/google-cloud/__recordings__/validateInvocation-failure-accountNotFound_2500377071/recording.har b/src/google-cloud/__recordings__/validateInvocation-failure-accountNotFound_2500377071/recording.har new file mode 100644 index 00000000..0d0dd232 --- /dev/null +++ b/src/google-cloud/__recordings__/validateInvocation-failure-accountNotFound_2500377071/recording.har @@ -0,0 +1,137 @@ +{ + "log": { + "_recordingName": "validateInvocation:failure:accountNotFound", + "creator": { + "comment": "persister:JupiterOneIntegationFSPersister", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "acea721c8193b51ced888cae721cc423", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 711, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "711" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip,deflate" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "www.googleapis.com" + } + ], + "headersSize": 300, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "[REDACTED]" + }, + "queryString": [], + "url": "https://www.googleapis.com/oauth2/v4/token" + }, + "response": { + "bodySize": 137, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 137, + "text": "{\"error\":\"invalid_grant\",\"error_description\":\"Invalid grant: account not found\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Fri, 10 Feb 2023 12:44:59 GMT" + }, + { + "name": "server", + "value": "scaffolding on HTTPServer2" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 390, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2023-02-10T12:44:59.127Z", + "time": 166, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 166 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/google-cloud/__recordings__/validateInvocation-failure-invalidJWT_3375761893/recording.har b/src/google-cloud/__recordings__/validateInvocation-failure-invalidJWT_3375761893/recording.har new file mode 100644 index 00000000..f24d6b97 --- /dev/null +++ b/src/google-cloud/__recordings__/validateInvocation-failure-invalidJWT_3375761893/recording.har @@ -0,0 +1,137 @@ +{ + "log": { + "_recordingName": "validateInvocation:failure:invalidJWT", + "creator": { + "comment": "persister:JupiterOneIntegationFSPersister", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "acea721c8193b51ced888cae721cc423", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 725, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "content-type", + "value": "application/x-www-form-urlencoded" + }, + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-length", + "value": "725" + }, + { + "_fromType": "array", + "name": "user-agent", + "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" + }, + { + "_fromType": "array", + "name": "accept-encoding", + "value": "gzip,deflate" + }, + { + "_fromType": "array", + "name": "connection", + "value": "close" + }, + { + "name": "host", + "value": "www.googleapis.com" + } + ], + "headersSize": 300, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/x-www-form-urlencoded", + "params": [], + "text": "[REDACTED]" + }, + "queryString": [], + "url": "https://www.googleapis.com/oauth2/v4/token" + }, + "response": { + "bodySize": 163, + "content": { + "encoding": "utf-8", + "mimeType": "application/json; charset=UTF-8", + "size": 163, + "text": "{\"error\":\"invalid_grant\",\"error_description\":\"Invalid JWT Signature.\"}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/json; charset=UTF-8" + }, + { + "name": "vary", + "value": "Origin, X-Origin, Referer" + }, + { + "name": "date", + "value": "Fri, 10 Feb 2023 12:50:03 GMT" + }, + { + "name": "server", + "value": "scaffolding on HTTPServer2" + }, + { + "name": "cache-control", + "value": "private" + }, + { + "name": "x-xss-protection", + "value": "0" + }, + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "alt-svc", + "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 390, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2023-02-10T12:50:02.932Z", + "time": 253, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 253 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/src/google-cloud/client.test.ts b/src/google-cloud/client.test.ts index 37ea4822..7ed3d403 100644 --- a/src/google-cloud/client.test.ts +++ b/src/google-cloud/client.test.ts @@ -2,10 +2,15 @@ import { IntegrationProviderAPIError, IntegrationProviderAuthorizationError, } from '@jupiterone/integration-sdk-core'; +import { createMockExecutionContext } from '@jupiterone/integration-sdk-testing'; import { GoogleAuth, GoogleAuthOptions } from 'google-auth-library'; import { google } from 'googleapis'; -import { IntegrationConfig } from '..'; -import { getMockIntegrationConfig } from '../../test/config'; +import { IntegrationConfig, invocationConfig } from '..'; +import { getMockIntegrationConfig, integrationConfig } from '../../test/config'; +import { + withGoogleCloudRecording, + getMatchRequestsBy, +} from '../../test/recording'; import { parseServiceAccountKeyFile } from '../utils/parseServiceAccountKeyFile'; import { Client } from './client'; @@ -203,3 +208,65 @@ describe('Client', () => { ); }); }); + +describe('Client - getAuthenticatedServiceClient tests', () => { + test('When service account key file is complete but with an incorrect client_email or service account is disabled, error should be instance of IntegrationProviderAuthenticationError and thorow a specific message.', async () => { + await withGoogleCloudRecording( + { + directory: __dirname, + name: 'validateInvocation:failure:accountNotFound', + options: { + matchRequestsBy: getMatchRequestsBy(integrationConfig), + recordFailedRequests: true, + }, + }, + async () => { + let error; + try { + await invocationConfig.validateInvocation?.( + createMockExecutionContext({ + instanceConfig: integrationConfig, + }), + ); + } catch (err) { + error = err; + } + expect(error).not.toBeUndefined(); + expect(error.message).toEqual( + 'Provider API failed at https://www.googleapis.com/oauth2/v4/token: 400 invalid_grant: Invalid grant: account not found', + ); + expect(error).toBeInstanceOf(IntegrationProviderAPIError); + }, + ); + }); + + test('When service account key file is complete but service account key was deleted from Google Cloud or expired, error should be instance of IntegrationProviderAuthenticationError and thorow a specific message.', async () => { + await withGoogleCloudRecording( + { + directory: __dirname, + name: 'validateInvocation:failure:invalidJWT', + options: { + matchRequestsBy: getMatchRequestsBy(integrationConfig), + recordFailedRequests: true, + }, + }, + async () => { + let error; + try { + await invocationConfig.validateInvocation?.( + createMockExecutionContext({ + instanceConfig: integrationConfig, + }), + ); + } catch (err) { + error = err; + } + expect(error).not.toBeUndefined(); + expect(error.message).toEqual( + 'Provider API failed at https://www.googleapis.com/oauth2/v4/token: 400 invalid_grant: Invalid JWT Signature.', + ); + expect(error).toBeInstanceOf(IntegrationProviderAPIError); + }, + ); + }); +}); diff --git a/src/google-cloud/client.ts b/src/google-cloud/client.ts index b238586f..4179973e 100644 --- a/src/google-cloud/client.ts +++ b/src/google-cloud/client.ts @@ -4,7 +4,7 @@ import { IntegrationProviderAuthorizationError, } from '@jupiterone/integration-sdk-core'; import { retry } from '@lifeomic/attempt'; -import { GaxiosResponse } from 'gaxios'; +import { GaxiosError, GaxiosResponse } from 'gaxios'; import { BaseExternalAccountClient, CredentialBody } from 'google-auth-library'; import { google } from 'googleapis'; import { IntegrationConfig } from '../types'; @@ -75,7 +75,11 @@ export class Client { async getAuthenticatedServiceClient(): Promise { if (!this.auth) { - this.auth = await this.getClient(); + try { + this.auth = await this.getClient(); + } catch (err) { + throw handleApiClientError(err); + } } return this.auth; @@ -134,7 +138,7 @@ export class Client { /** * Codes unknown error into JupiterOne errors */ -function handleApiClientError(error: any) { +function handleApiClientError(error: GaxiosError) { // If the error was already handled, forward it on if (error instanceof IntegrationError) { return error; @@ -142,7 +146,7 @@ function handleApiClientError(error: any) { let err; const errorProps = createErrorProps(error); - const code = error.response?.status; + const code = error.response?.status as number; // Per these two sets of docs, and depending on the api, gcloud // will return a 403 or 429 error to signify rate limiting: @@ -157,7 +161,7 @@ function handleApiClientError(error: any) { // retry this case. error.message.match(/Quota exceeded/i) ) { - (err as any).retryable = true; + err.retryable = true; } } else if ( code == 400 && @@ -165,6 +169,8 @@ function handleApiClientError(error: any) { error.message.match(/billing/i) ) { err = new IntegrationProviderAuthorizationError(errorProps); + } else if (code == 401) { + err = new IntegrationProviderAuthorizationError(errorProps); } else if (code === 429 || code >= 500) { err = new IntegrationProviderAPIError(errorProps); (err as any).retryable = true; diff --git a/src/google-cloud/utils/createErrorProps.ts b/src/google-cloud/utils/createErrorProps.ts index 0d7f6823..92b6717a 100644 --- a/src/google-cloud/utils/createErrorProps.ts +++ b/src/google-cloud/utils/createErrorProps.ts @@ -14,7 +14,7 @@ export function createErrorProps(error: Error | GaxiosError): J1ApiErrorProps { cause: error, endpoint: error.response?.config?.url || UNKNOWN_VALUE, status: error.response?.status, - statusText: error.response?.statusText, + statusText: error.message, }; } else { return { @@ -22,7 +22,7 @@ export function createErrorProps(error: Error | GaxiosError): J1ApiErrorProps { cause: error, endpoint: UNKNOWN_VALUE, status: UNKNOWN_VALUE, - statusText: UNKNOWN_VALUE, + statusText: error.message || UNKNOWN_VALUE, }; } } diff --git a/src/index.test.ts b/src/index.test.ts index f772916c..d32c06d0 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -1,7 +1,6 @@ import { invocationConfig as specConfig } from '../docs/spec/src/index'; import { Entity, - IntegrationValidationError, Step, StepStartStates, } from '@jupiterone/integration-sdk-core'; @@ -9,17 +8,12 @@ import { createMockExecutionContext, Recording, } from '@jupiterone/integration-sdk-testing'; -import { GoogleAuth, GoogleAuthOptions } from 'google-auth-library'; -import { google } from 'googleapis'; -import { - DEFAULT_INTEGRATION_CONFIG_SERVICE_ACCOUNT_KEY_FILE, - integrationConfig, -} from '../test/config'; +import { integrationConfig } from '../test/config'; import { getMatchRequestsBy, setupGoogleCloudRecording, } from '../test/recording'; -import getStepStartStates, { getOrganizationSteps } from './getStepStartStates'; +import { getOrganizationSteps } from './getStepStartStates'; import { invocationConfig } from './index'; import { STEP_ACCESS_CONTEXT_MANAGER_ACCESS_LEVELS, @@ -179,92 +173,6 @@ import { import { StorageStepsSpec } from './steps/storage/constants'; import { WebSecurityScannerSteps } from './steps/web-security-scanner/constants'; -interface ValidateInvocationInvalidConfigTestParams { - instanceConfig?: Partial; - expectedErrorMessage?: string; -} - -async function validateInvocationInvalidConfigTest({ - instanceConfig, - expectedErrorMessage, -}: ValidateInvocationInvalidConfigTestParams = {}) { - const context = createMockExecutionContext( - instanceConfig - ? { - instanceConfig: instanceConfig as IntegrationConfig, - } - : undefined, - ); - - const { getStepStartStates } = invocationConfig; - - if (!getStepStartStates) { - throw new Error('Missing "getStepStartStates" in index'); - } - - let failed = false; - - try { - await getStepStartStates(context); - } catch (err) { - expect(err instanceof IntegrationValidationError).toBe(true); - expect(err.message).toEqual( - expectedErrorMessage || - 'Missing a required integration config value {serviceAccountKeyFile}', - ); - failed = true; - } - - expect(failed).toEqual(true); -} - -describe('#getStepStartStates failures', () => { - let googleAuthSpy: jest.SpyInstance< - GoogleAuth, - [(GoogleAuthOptions | undefined)?] - >; - - beforeEach(() => { - googleAuthSpy = jest.spyOn(google.auth, 'GoogleAuth'); - }); - - afterEach(() => { - jest.resetAllMocks(); - }); - - test('should throw if missing serviceAccountKeyFile property in config', async () => { - await validateInvocationInvalidConfigTest(); - expect(googleAuthSpy.mock.calls.length).toEqual(0); - }); - - [ - 'type', - 'project_id', - 'private_key_id', - 'private_key', - 'client_email', - 'client_id', - 'auth_uri', - 'token_uri', - 'auth_provider_x509_cert_url', - 'client_x509_cert_url', - ].forEach((k) => { - test(`should throw if missing "${k}" from serviceAccountKeyFile`, async () => { - await validateInvocationInvalidConfigTest({ - instanceConfig: { - serviceAccountKeyFile: JSON.stringify({ - ...DEFAULT_INTEGRATION_CONFIG_SERVICE_ACCOUNT_KEY_FILE, - [k]: undefined, - }), - }, - expectedErrorMessage: `Invalid contents of "serviceAccountKeyFile" passed to integration (invalidFileKeys=${k})`, - }); - - expect(googleAuthSpy.mock.calls.length).toEqual(0); - }); - }); -}); - describe('#getStepStartStates success', () => { let recording: Recording; @@ -284,20 +192,20 @@ describe('#getStepStartStates success', () => { test.each([true, false])( 'should return all enabled services when getStepStartStatesUsingServiceEnablements = %p', + async (useEnablementsForStepStartStates) => { - const context = createMockExecutionContext({ + const stepStartStates = await invocationConfig.getStepStartStates?.( // Unless we want to change what this test does, we need to modify the // instanceConfig with configureOrganizationProjects: true, else not // all steps will be enabled it'll be disabled + createMockExecutionContext({ + instanceConfig: { + ...integrationConfig, + useEnablementsForStepStartStates, + }, + }), + ); - // Temporary tweak to make this test pass since its recording has been updated from the new organization/v3 - instanceConfig: { - ...integrationConfig, - useEnablementsForStepStartStates, - }, - }); - - const stepStartStates = await getStepStartStates(context); const expectedStepStartStates: StepStartStates = { [STEP_RESOURCE_MANAGER_ORGANIZATION]: { disabled: false, @@ -697,24 +605,15 @@ describe('#getStepStartStates success', () => { ); test('configureOrganizationProjects: true and organizationId: undefined: should disable billing and organization steps', async () => { - const context = createMockExecutionContext({ - // Temporary tweak to make this test pass since its recording has been updated from the new organization/v3 - instanceConfig: { - ...integrationConfig, - serviceAccountKeyFile: integrationConfig.serviceAccountKeyFile.replace( - 'j1-gc-integration-dev-v2', - 'j1-gc-integration-dev-v3', - ), - serviceAccountKeyConfig: { - ...integrationConfig.serviceAccountKeyConfig, - project_id: 'j1-gc-integration-dev-v3', - }, - configureOrganizationProjects: true, - organizationId: undefined, - }, - }); - - const stepStartStates = await getStepStartStates(context); + const stepStartStates = await invocationConfig.getStepStartStates?.( + createMockExecutionContext({ + instanceConfig: { + ...integrationConfig, + organizationId: undefined, + configureOrganizationProjects: true, + }, + }), + ); expect(stepStartStates).toMatchObject({ [STEP_RESOURCE_MANAGER_ORGANIZATION]: { @@ -766,23 +665,14 @@ describe('#getStepStartStates success', () => { }); test('configureOrganizationProjects: false or undefined, organizationId defined and projectId defined; should disable billing and organization steps', async () => { - const context = createMockExecutionContext({ - // Temporary tweak to make this test pass since its recording has been updated from the new organization/v3 - instanceConfig: { - ...integrationConfig, - configureOrganizationProjects: false, - serviceAccountKeyFile: integrationConfig.serviceAccountKeyFile.replace( - 'j1-gc-integration-dev-v2', - 'j1-gc-integration-dev-v3', - ), - serviceAccountKeyConfig: { - ...integrationConfig.serviceAccountKeyConfig, - project_id: 'j1-gc-integration-dev-v3', + const stepStartStates = await invocationConfig.getStepStartStates?.( + createMockExecutionContext({ + instanceConfig: { + ...integrationConfig, + configureOrganizationProjects: false, }, - }, - }); - - const stepStartStates = await getStepStartStates(context); + }), + ); expect(stepStartStates).toMatchObject({ [STEP_RESOURCE_MANAGER_ORGANIZATION]: { @@ -834,24 +724,16 @@ describe('#getStepStartStates success', () => { }); test('configureOrganizationProjects: false or undefined, organizationId: undefined and projectId defined; should enable binding and billing steps and disable organization steps.', async () => { - const context = createMockExecutionContext({ - // Temporary tweak to make this test pass since its recording has been updated from the new organization/v3 - instanceConfig: { - projectId: 'j1-gc-integration-dev-v3', - configureOrganizationProjects: false, - organizationId: undefined, - serviceAccountKeyFile: integrationConfig.serviceAccountKeyFile.replace( - 'j1-gc-integration-dev-v2', - 'j1-gc-integration-dev-v3', - ), - serviceAccountKeyConfig: { - ...integrationConfig.serviceAccountKeyConfig, - project_id: 'j1-gc-integration-dev-v3', + const stepStartStates = await invocationConfig.getStepStartStates?.( + createMockExecutionContext({ + instanceConfig: { + ...integrationConfig, + projectId: integrationConfig.serviceAccountKeyConfig.project_id, + configureOrganizationProjects: false, + organizationId: undefined, }, - }, - }); - - const stepStartStates = await getStepStartStates(context); + }), + ); expect(stepStartStates).toMatchObject({ [STEP_RESOURCE_MANAGER_ORGANIZATION]: { diff --git a/src/index.ts b/src/index.ts index 41a50dd6..8b98df7c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,5 @@ import { IntegrationInvocationConfig } from '@jupiterone/integration-sdk-core'; +import { validateInvocation } from './config'; import getStepStartStates from './getStepStartStates'; import { Client } from './google-cloud/client'; import { steps } from './steps/steps'; @@ -31,6 +32,7 @@ export const invocationConfig: IntegrationInvocationConfig = integrationSteps: steps, dependencyGraphOrder: ['last'], beforeAddEntity: maybeDefaultProjectIdOnEntity, + validateInvocation, }; export { diff --git a/src/utils/parseServiceAccountKeyFile.ts b/src/utils/parseServiceAccountKeyFile.ts index 7bdcae02..f8109fe3 100644 --- a/src/utils/parseServiceAccountKeyFile.ts +++ b/src/utils/parseServiceAccountKeyFile.ts @@ -42,8 +42,13 @@ function collectInvalidKeysFromParsedServiceAccountKeyFile( } export function parseServiceAccountKeyFile( - serviceAccountKeyFile: string, + serviceAccountKeyFile: string | undefined, ): ParsedServiceAccountKeyFile { + if (!serviceAccountKeyFile) { + throw new IntegrationValidationError( + 'Missing a required integration config value {serviceAccountKeyFile}', + ); + } if (typeof serviceAccountKeyFile !== 'string') { // JSON.parse can take other types besides just strings. This should never // happen, but if it does, we do not want to continue. diff --git a/test/recording.ts b/test/recording.ts index 10d4638d..d63b3b11 100644 --- a/test/recording.ts +++ b/test/recording.ts @@ -295,7 +295,10 @@ function redact(entry): void { // Remove recording binary marker delete (entry.response.content as any)._isBinary; - if (requestUrl === 'https://www.googleapis.com/oauth2/v4/token') { + if ( + requestUrl === 'https://www.googleapis.com/oauth2/v4/token' && + entry.response.status === 200 + ) { entry.response.content.encoding = 'utf-8'; entry.response.content.text = JSON.stringify(getRedactedOAuthResponse()); return; From ad77ce7410793c04d1e3a22920e84b0b996b72a9 Mon Sep 17 00:00:00 2001 From: Gaston Yelmini Date: Fri, 24 Feb 2023 16:37:04 -0300 Subject: [PATCH 2/2] Delete unused file --- .../recording.har | 137 ------------------ 1 file changed, 137 deletions(-) delete mode 100644 src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har diff --git a/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har b/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har deleted file mode 100644 index c5f687d4..00000000 --- a/src/__recordings__/getStepStartStateKeyValidation_372270608/recording.har +++ /dev/null @@ -1,137 +0,0 @@ -{ - "log": { - "_recordingName": "getStepStartStateKeyValidation", - "creator": { - "comment": "persister:JupiterOneIntegationFSPersister", - "name": "Polly.JS", - "version": "6.0.5" - }, - "entries": [ - { - "_id": "acea721c8193b51ced888cae721cc423", - "_order": 0, - "cache": {}, - "request": { - "bodySize": 711, - "cookies": [], - "headers": [ - { - "_fromType": "array", - "name": "content-type", - "value": "application/x-www-form-urlencoded" - }, - { - "_fromType": "array", - "name": "accept", - "value": "application/json" - }, - { - "_fromType": "array", - "name": "content-length", - "value": "711" - }, - { - "_fromType": "array", - "name": "user-agent", - "value": "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" - }, - { - "_fromType": "array", - "name": "accept-encoding", - "value": "gzip,deflate" - }, - { - "_fromType": "array", - "name": "connection", - "value": "close" - }, - { - "name": "host", - "value": "www.googleapis.com" - } - ], - "headersSize": 300, - "httpVersion": "HTTP/1.1", - "method": "POST", - "postData": { - "mimeType": "application/x-www-form-urlencoded", - "params": [], - "text": "[REDACTED]" - }, - "queryString": [], - "url": "https://www.googleapis.com/oauth2/v4/token" - }, - "response": { - "bodySize": 181, - "content": { - "encoding": "utf-8", - "mimeType": "application/json; charset=UTF-8", - "size": 181, - "text": "{\"access_token\":\"[REDACTED]\",\"expires_in\":9999,\"token_type\":\"Bearer\"}" - }, - "cookies": [], - "headers": [ - { - "name": "content-type", - "value": "application/json; charset=UTF-8" - }, - { - "name": "vary", - "value": "Origin, X-Origin, Referer" - }, - { - "name": "date", - "value": "Mon, 30 Jan 2023 13:47:19 GMT" - }, - { - "name": "server", - "value": "scaffolding on HTTPServer2" - }, - { - "name": "cache-control", - "value": "private" - }, - { - "name": "x-xss-protection", - "value": "0" - }, - { - "name": "x-frame-options", - "value": "SAMEORIGIN" - }, - { - "name": "x-content-type-options", - "value": "nosniff" - }, - { - "name": "alt-svc", - "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000" - }, - { - "name": "connection", - "value": "close" - } - ], - "headersSize": 390, - "httpVersion": "HTTP/1.1", - "redirectURL": "", - "status": 400, - "statusText": "Bad Request" - }, - "startedDateTime": "2023-01-30T13:47:19.203Z", - "time": 120, - "timings": { - "blocked": -1, - "connect": -1, - "dns": -1, - "receive": 0, - "send": 0, - "ssl": -1, - "wait": 120 - } - } - ], - "pages": [], - "version": "1.2" - } -}